Skip to content

Commit

Permalink
Update benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
djwatson committed Oct 25, 2023
1 parent 5367b95 commit 0969e4f
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 66 deletions.
94 changes: 47 additions & 47 deletions doc/benchmark_results2.org
Original file line number Diff line number Diff line change
@@ -1,47 +1,47 @@
| benchmark | hawk | chez | diff | win | reason | loop trace |
|-----------+--------+---------+-------------+-------+-------------------------------------------------+------------|
| ack | 2.13 | 1.9 | 10.798122 | | | x |
| tak | 1.26 | 1.56 | -23.809524 | *WIN* | | x |
| fib | 2.29 | 3.0 | -31.004367 | *WIN* | | |
| sum | .89 | 1.546 | -73.707865 | *WIN* | | x |
| diviter | 1.034 | 1.041 | -0.67698259 | *WIN* | alloc inline, fusion | x |
| divrec | 1.593 | 1.636 | -2.6993095 | *WIN* | same | x |
| nqueens | 2.94 | 3.8 | -29.251701 | *WIN* | closure analysis | x |
| mperm | 5.168 | 7.2 | -39.318885 | *WIN* | | |
| ntakl | 1.733 | 2.6 | -50.028852 | *WIN* | FRONTEND | x |
| takl | 1.288 | 2.7 | -109.62733 | *WIN* | same | x |
| wc | .648 | .902 | 30.077519 | | getc, print_obj, fputc, plt, call constant pool | x |
| cat | 1.37 | 1.278 | 24.823529 | | same as wc | x |
| cpstak | 1.962 | 2.1 | -7.0336391 | *WIN* | typecheck | |
| primes | .5 | .6999 | -39.98 | *WIN* | | x |
| deriv | .89 | .908 | -2.0224719 | *WIN* | merge GC, lea fusion, typechecks, snapshot min | |
| triangl | .728 | 1.184 | -62.637363 | *WIN* | | x |
| destruc | 1.02 | 1.28 | -25.490196 | *WIN* | | x |
| gcbench | .49 | .556 | -13.469388 | *WIN* | bigger nursury | |
| puzzle | 1.286 | 1.55 | -20.528771 | *WIN* | loop opt | x |
| paraffins | 4.0 | 4.270 | -6.75 | *WIN* | | x |
| maze | .40 | .845 | -111.25 | *WIN* | | x |
| mazefun | 1.904 | 1.731 | 9.0861345 | | | x |
| lattice | 2.7 | 2.7 | 0. | *WIN* | closure sinking, sccp | x |
| browse | .88 | .987 | -12.159091 | *WIN* | | |
| graphs | 1.75 | 1.3 | 25.714286 | | LOOP, closure analysis , closure sinking | nested |
| conform | 1.80 | 1.422 | 21. | | | |
| sboyer | .756 | .731 | 3.3068783 | | ?? typecheck | |
| nboyer | 1.376 | 1.483 | -7.7761628 | *WIN* | ?? | |
| array1 | 2.0 | 4.5 | -125. | *WIN* | | x |
| earley | 1.99 | 3.1 | -55.778894 | *WIN* | | x |
| scheme | 1.39 | 2.4 | -72.661871 | *WIN* | | x |
| ctak | 3.45 | .4 | 88.405797 | | cc representation | x |
| fibc | 1.639 | .328 | 79.987797 | | cc representation | x |
| string | .5 | 2.5 | -400. | *WIN* | string ops | |
| read1 | .781 | 0.574 | 42.6 | | read | |
| parsing | 2.0 | 2.1 | -5. | *WIN* | sccp | |
| peval | 1.475 | 1.46 | 1.0169492 | | loop catching. sccp | |
| slatex | 1.98 | 1.958 | 1.1111111 | | | |
| equal | .200 | .398 | -99. | *WIN* | | |
| compiler | 1.918 | 2.004 | -4.4838373 | *WIN* | loop catching | |
| matrix | 1.11 | .899 | 19.009009 | | loop catching?? opt_loop | |
| dynamic | 1.832 | 1.447 | 21.015284 | | read | |
| TOTAL | 68.242 | 76.9779 | -12.801354 | *WIN* | | |
|-----------+--------+---------+-------------+-------+-------------------------------------------------+------------|
#+TBLFM: $4=($2-$3) * 100.0 /$2::$5='(if (not (= $2 0)) (if (>= $3 $2) '*WIN* "") "BAD");N::@>$2=vsum(@2..@-1)::@>$3=vsum(@2..@-1)
| benchmark | hawk | chez | diff | win | reason | loop trace |
|-----------+-------+---------+-------------+-------+-------------------------------------------------------+------------|
| ack | 1.87 | 1.9 | -1.6042781 | *WIN* | | x |
| tak | 1.26 | 1.56 | -23.809524 | *WIN* | | x |
| fib | 2.29 | 3.0 | -31.004367 | *WIN* | | |
| sum | .89 | 1.546 | -73.707865 | *WIN* | | x |
| diviter | 1.034 | 1.041 | -0.67698259 | *WIN* | | x |
| divrec | 1.593 | 1.636 | -2.6993095 | *WIN* | | x |
| nqueens | 2.94 | 3.8 | -29.251701 | *WIN* | | x |
| mperm | 5.168 | 7.2 | -39.318885 | *WIN* | | |
| ntakl | 1.733 | 2.6 | -50.028852 | *WIN* | | x |
| takl | 1.96 | 2.7 | -37.755102 | *WIN* | | x |
| wc | .537 | .902 | -67.970205 | *WIN* | | x |
| cat | 1.268 | 1.278 | -0.78864353 | *WIN* | write fastpath | x |
| cpstak | 1.962 | 2.1 | -7.0336391 | *WIN* | | |
| primes | .5 | .6999 | -39.98 | *WIN* | | x |
| deriv | .89 | .908 | -2.0224719 | *WIN* | | |
| triangl | .728 | 1.184 | -62.637363 | *WIN* | | x |
| destruc | 1.02 | 1.28 | -25.490196 | *WIN* | | x |
| gcbench | .388 | .556 | -43.298969 | *WIN* | | |
| puzzle | 1.286 | 1.55 | -20.528771 | *WIN* | | x |
| paraffins | 3.9 | 4.270 | -9.4871795 | *WIN* | | x |
| maze | .40 | .845 | -111.25 | *WIN* | | x |
| mazefun | 1.693 | 1.731 | -2.2445363 | *WIN* | | x |
| lattice | 2.5 | 2.7 | -8. | *WIN* | | x |
| browse | .80 | .987 | -23.375 | *WIN* | | |
| graphs | 1.712 | 1.3 | 24.065421 | | 'program' mode in chez. DEFINITELY opt_loop SLOADS | nested |
| conform | 1.675 | 1.422 | 15.104478 | | program mode. specializing on lambda args? fix spills | |
| sboyer | .721 | .731 | -1.3869626 | *WIN* | spills | |
| nboyer | 1.440 | 1.483 | -2.9861111 | *WIN* | | |
| array1 | 2.0 | 4.5 | -125. | *WIN* | | x |
| earley | 2.15 | 3.1 | -44.186047 | *WIN* | | x |
| scheme | 1.39 | 2.4 | -72.661871 | *WIN* | | x |
| ctak | 4.5 | .4 | 91.111111 | | cc representation | x |
| fibc | 1.639 | .328 | 79.987797 | | cc representation | x |
| string | .5 | 2.5 | -400. | *WIN* | | |
| read1 | .544 | 0.574 | -5.5147059 | *WIN* | | |
| parsing | 1.96 | 2.1 | -7.1428571 | *WIN* | | |
| peval | 1.483 | 1.51 | -1.8206339 | *WIN* | fix spill slots | |
| slatex | 1.787 | 1.958 | -9.5691102 | *WIN* | file jitops | |
| equal | .200 | .398 | -99. | *WIN* | | |
| compiler | 1.579 | 2.004 | -26.915769 | *WIN* | | |
| matrix | 1.11 | 1.11 | 0. | *WIN* | loop catching?? opt_loop | |
| dynamic | 1.54 | 1.447 | 6.0389610 | OK | read | |
| TOTAL | 66.54 | 77.2389 | -16.078900 | *WIN* | | |
|-----------+-------+---------+-------------+-------+-------------------------------------------------------+------------|
#+TBLFM: $4=($2-$3) * 100.0 /$2::$5='(if (not (= $2 0)) (if (>= $3 $2) '*WIN* (if (>= (* 1.15 $3) $2) 'OK "")) "BAD");N::@>$2=vsum(@2..@-1)::@>$3=vsum(@2..@-1)
42 changes: 23 additions & 19 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ <h2>Benchmarks</h2>
</p>
</div>
<div id="charts1"></div>
Hawk has an unoptimized read/write path, and unoptimized continuation representation.
Hawk has an unoptimized continuation representation.
<div id="charts2"></div>
Hawk JIT does not currently support flonums, so all flonums benchmarks mostly use the VM.
<div id="charts3"></div>
Expand Down Expand Up @@ -186,51 +186,55 @@ <h2>Benchmarks</h2>
}
arrayLabel = ['Chez', 'Loko', 'Gambit', 'Hawk'];
makechart('destruc', [1.2800000000002, 1.1779999732971191, 1.529525, 1.08]);
makechart('conform', [1.3599999999996726, 1.2949999570846558, 2.161752, 1.89]);
makechart('conform', [1.3599999999996726, 1.2949999570846558, 2.161752, 1.675]);
makechart('puzzle', [1.6299999999996544, 1.5299999713897705, 2.193014, 1.32]);
makechart('parsing', [2.0299999999997453, 1.8980000019073486, 1.837709, 1.9]);
makechart('parsing', [2.0299999999997453, 1.8980000019073486, 1.837709, 1.96]);
makechart('nqueens', [3.519999999999982, 4.40500020980835, 4.38331, 2.83]);
makechart('primes', [0.650000000000091, 0.75, 0.577724, 0.55]);
makechart('tak', [1.1199999999998909, 1.1089999675750732, 1.620081, 1.24]);
makechart('triangl', [1.199999999999818, 0.9570000171661377, 1.264036, 0.87]);
makechart('matrix', [1.32, 1.2879999876022339, 1.603249, 1.11]);
makechart('lattice', [2.6600000000003092, 2.4709999561309814, 4.184831, 2.66]);
makechart('browse', [0.9500000000002728, 1.1690000295639038, 1.476638, .92]);
makechart('lattice', [2.6600000000003092, 2.4709999561309814, 4.184831, 2.5]);
makechart('browse', [0.9500000000002728, 1.1690000295639038, 1.476638, .8]);
makechart('sum', [1.6199999999998909, 1.6970000267028809, 1.363083, 0.86]);
makechart('nboyer', [1.3900000000003274, 1.2589999437332153, 2.450626, 1.376]);
makechart('gcbench', [0.5399999999999636, 0.5889999866485596, 1.04997, 0.42]);
makechart('nboyer', [1.3900000000003274, 1.2589999437332153, 2.450626, 1.44]);
makechart('gcbench', [0.5399999999999636, 0.5889999866485596, 1.04997, 0.38]);
makechart('fib', [2.980000000000018, 2.680999994277954, 2.147171, 2.34]);
makechart('cpstak', [2.130000000000109, 3.247999906539917, 2.585882, 1.81]);
makechart('maze', [.437, 1.062000036239624, 0.448774, 0.42]);
makechart('takl', [2.7899999999999636, 1.5609999895095825, 1.751044, 1.69]);
makechart('takl', [2.7899999999999636, 1.5609999895095825, 1.751044, 1.98]);
makechart('deriv', [0.8800000000001091, 1.7610000371932983, 0.939768, 0.89]);
makechart('ntakl', [2.6599999999998545, 1.5379999876022339, 1.935883, 1.78]);
makechart('slatex', [1.849999999999909, 1.840999960899353, 3.885483, 1.91]);
makechart('compiler', [2.2, 1.059000015258789, 0.0, 1.9]);
makechart('sboyer', [0.7400000000002365, 0.6370000243186951, 1.000899, .76]);
makechart('slatex', [1.849999999999909, 1.840999960899353, 3.885483, 1.88]);
makechart('compiler', [2.2, 1.059000015258789, 0.0, 1.579]);
makechart('sboyer', [0.7400000000002365, 0.6370000243186951, 1.000899, .72]);
makechart('scheme', [1.9800000000000182, 1.878999948501587, 4.262164, 1.39]);
makechart('earley', [2.9200000000000728, 0.0, 3.036918, 1.99]);
makechart('earley', [2.9200000000000728, 0.0, 3.036918, 2.15]);
makechart('peval', [1.400000000000091, 1.8600000143051147, 1.82575, 1.47]);
makechart('ack', [1.9100000000003092, 2.5290000438690186, 2.534312, 1.52]);
makechart('paraffins', [3.363, 1.2400000095367432, 2.397688, 4.0]);
makechart('paraffins', [3.363, 1.2400000095367432, 2.397688, 3.9]);
makechart('diviter', [0.9800000000000182, 1.1749999523162842, 1.108788, 1.00]);
makechart('equal', [0.3900000000003274, 1.5759999752044678, 0.234992, 0.2]);
makechart('divrec', [1.6200000000, 1.9700000286102295, 1.559836, 1.59]);
makechart('graphs', [1.3099999999999454, 1.7000000476837158, 5.411687, 1.75]);
makechart('graphs', [1.3099999999999454, 1.7000000476837158, 5.411687, 1.71]);
makechart('mperm', [6.8400000000001455, 4.39300012588501, 4.34869, 5.05]);
makechart('mazefun', [1.5799999999999272, 1.6059999465942383, 2.093023, 1.90]);
makechart('mazefun', [1.5799999999999272, 1.6059999465942383, 2.093023, 1.69]);
makechart('array1', [4.5900000000001455, 1.4989999532699585, 2.981551, 2.00]);
makechart('wc', [0.9400000000000546, 1.5779999494552612, 5.82148, .648]);
makechart('string', [2.9100000000003092, 2.611999988555908, 1.703866, .5]);
makechart('cat', [1.3100000000004002, 2.421999931335449, 10.767127, 1.371]);
makechart('dynamic', [1.3899999999998727, 2.3949999809265137, 3.172476, 1.55]);
makechart('tail', [0.0, 3.299999952316284, 2.195105, 0.24]);
makechart('read1', [0.5199999999999818, 1.9600000381469727, 1.245462, 0.592]);
oldsums = [...sums];
makechart('Totals', sums);
sums = oldsums;
cur_section = "charts2";
makechart('ctak', [0.41000000000030923, 16.945999145507812, 1.854662, 3.29]);
makechart('ctak', [0.41000000000030923, 16.945999145507812, 1.854662, 4.55]);
makechart('fibc', [0.30999999999994543, 9.291000366210938, 1.176995, 1.58]);
makechart('dynamic', [1.3899999999998727, 2.3949999809265137, 3.172476, 1.83]);
makechart('tail', [0.0, 3.299999952316284, 2.195105, 0.24]);
makechart('read1', [0.5199999999999818, 1.9600000381469727, 1.245462, 0.781]);
oldsums = [...sums];
makechart('Totals', sums);
sums = oldsums;
cur_section = "charts3";
makechart('sum1', [0.7400000000002365, 2.99, 0.762798, 1.79]);
makechart('simplex', [1.6700000000000728, 1.3509999513626099, 1.532647, 9.44]);
Expand Down

0 comments on commit 0969e4f

Please sign in to comment.