This is based on ecraven's benchmarks, which seem unmatained.
The benchmarks were run on a Dell XPS 13-9320 laptop.
Each benchmark was run 3 times, and I kept the best value.
NoteThis is not a d*ck swinging contest. I compiled these results to see how well we do in non-idiomatic, non-optimized, vanilla Scheme code and I want to be able to track progress with compiler improvements (there are plenty to come in Gerbil v0.19). Take them with a (big) grain of salt.
Note I've been asked why I don't include Chez in the benchmarks. This is simply because I don't trust languages who are not boostrapped with open source provenance. Racket's fork of Chez is, Dybvig Chez is not; see also The Gerbil Bootstrap.
Color Coding: | best | within 10% | within 10-25% | within 25-50% | within 50-100% | within 100-200% | over 200% |
Benchmark | ⋄⋄⋄ | Gerbil shared/safe | ⋄⋄⋄ | Gerbil static/safe | ⋄⋄⋄ | Gerbil shared/unsafe | ⋄⋄⋄ | Gerbil static/unsafe | ⋄⋄⋄ | Gerbil shared/unsafe/fpo | ⋄⋄⋄ | Gerbil static/unsafe/fpo | ⋄⋄⋄ | Racket |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
browse | 1.177593 (+49.8%) | 1.189406 (+51.3%) | 1.042414 (+32.6%) | 1.076639 (+37.%) | .796936 (+1.4%) | .785758 ↻ | 1.826 (+132.3%) | |||||||
deriv | 2.004261 (+109.6%) | 2.04079 (+113.4%) | 1.994011 (+108.5%) | 2.006049 (+109.8%) | 1.024281 (+7.1%) | .99355 (+3.9%) | 0.956 ↻ | |||||||
destruc | 2.418909 (+45.9%) | 2.566311 (+54.8%) | 1.907796 (+15.1%) | 1.777189 (+7.2%) | 1.657932 (+0.%) | 1.656932 ↻ | 2.237 (+35.%) | |||||||
diviter | 2.406134 (+58.9%) | 2.457961 (+62.3%) | 2.413634 (+59.4%) | 2.420029 (+59.8%) | 1.513779 ↻ | 1.517906 (+.2%) | 2.176 (+43.7%) | |||||||
divrec | 3.310734 (+68.%) | 3.436995 (+74.5%) | 2.935809 (+49.%) | 2.910908 (+47.7%) | 1.984917 (+.7%) | 1.96954 ↻ | 2.867 (+45.5%) | |||||||
puzzle | 2.670674 (+68.%) | 2.646354 (+66.4%) | 1.638169 (+3.%) | 1.589469 ↻ | 1.642399 (+3.3%) | 1.658758 (+4.3%) | 1.987 (+25.%) | |||||||
triangl | 1.816747 (+57.%) | 1.917638 (+65.7%) | 1.20054 (+3.7%) | 1.156733 ↻ | 1.160439 (+.3%) | 1.454371 (+25.7%) | 1.616 (+39.7%) | |||||||
tak | 1.323597 (+11.2%) | 1.398808 (+17.5%) | 1.423973 (+19.6%) | 1.375421 (+15.5%) | 1.23525 (+3.8%) | 1.301701 (+9.3%) | 1.19 ↻ | |||||||
takl | 2.200456 (+96.%) | 2.727037 (+142.9%) | 1.145314 (+2.%) | 1.122601 ↻ | 1.373571 (+22.3%) | 1.312003 (+16.8%) | 3.05 (+171.6%) | |||||||
ntakl | 1.948655 (+78.7%) | 2.257094 (+106.9%) | 1.090454 ↻ | 1.124215 (+3.%) | 1.558087 (+42.8%) | 1.56669 (+43.6%) | 2.997 (+174.8%) | |||||||
cpstak | 5.295225 (+105.7%) | 5.221523 (+102.9%) | 5.357734 (+108.2%) | 5.373495 (+108.8%) | 2.727116 (+5.9%) | 2.644588 (+2.7%) | 2.573 ↻ | |||||||
ctak | 2.207858 (+58.4%) | 2.216394 (+59.1%) | 2.154785 (+54.6%) | 2.167758 (+55.6%) | 1.539587 (+10.5%) | 1.527646 (+9.6%) | 1.393 ↻ | |||||||
fib | 2.517633 (+38.1%) | 2.784968 (+52.8%) | 1.82251 ↻ | 2.289006 (+25.5%) | 3.446788 (+89.1%) | 2.540783 (+39.4%) | 2.464 (+35.1%) | |||||||
fibc | 1.416822 (+52.5%) | 1.413022 (+52.1%) | 1.32214 (+42.3%) | 1.381736 (+48.7%) | 1.067764 (+14.9%) | 1.059126 (+14.%) | 0.929 ↻ | |||||||
fibfp | 1.59865 (+93.%) | 1.617197 (+95.2%) | 1.571944 (+89.7%) | 1.566308 (+89.1%) | .82822 ↻ | .849167 (+2.5%) | 1.937 (+133.8%) | |||||||
sum | 1.896988 (+12.4%) | 1.862365 (+10.4%) | 1.691372 (+.2%) | 1.686426 ↻ | 1.865357 (+10.6%) | 1.877902 (+11.3%) | 1.918 (+13.7%) | |||||||
sumfp | 2.927296 (+91.7%) | 2.855325 (+86.9%) | 2.807947 (+83.8%) | 2.768214 (+81.2%) | 1.526917 ↻ | 1.547594 (+1.3%) | 2.289 (+49.9%) | |||||||
fft | 1.894794 (+76.%) | 1.918259 (+78.2%) | 1.743516 (+61.9%) | 1.773525 (+64.7%) | 1.076308 ↻ | 1.085122 (+.8%) | 1.272 (+18.1%) | |||||||
mbrot | 3.907554 (+80.7%) | 3.895808 (+80.1%) | 3.898684 (+80.3%) | 3.857791 (+78.4%) | 2.193496 (+1.4%) | 2.162133 ↻ | 3.891 (+79.9%) | |||||||
mbrotZ | 9.165381 (+161.8%) | 8.53371 (+143.8%) | 8.64543 (+147.%) | 8.072206 (+130.6%) | 6.658746 (+90.2%) | 6.638957 (+89.6%) | 3.5 ↻ | |||||||
nucleic | 1.699102 (+79.3%) | 1.69384 (+78.7%) | 1.337536 (+41.1%) | 1.3567 (+43.1%) | .947534 ↻ | .956562 (+.9%) | 1.365 (+44.%) | |||||||
pi | .677962 (+44.5%) | .669509 (+42.7%) | .685489 (+46.1%) | .689728 (+47.%) | .649141 (+38.4%) | .651003 (+38.8%) | 0.469 ↻ | |||||||
pnpoly | 2.720025 (+59.9%) | 2.710972 (+59.4%) | 1.772297 (+4.2%) | 1.786395 (+5.%) | 1.700423 ↻ | 1.716093 (+.9%) | 3.325 (+95.5%) | |||||||
ray | 1.927884 (+105.7%) | 1.912404 (+104.%) | 1.42526 (+52.1%) | 1.461094 (+55.9%) | .936997 ↻ | .938671 (+.1%) | 2.849 (+204.%) | |||||||
simplex | 2.179622 (+134.%) | 2.195469 (+135.7%) | 1.186705 (+27.4%) | 1.228948 (+31.9%) | .931455 ↻ | .939368 (+.8%) | 1.63 (+74.9%) | |||||||
ack | 1.839796 (+1.5%) | 1.821615 (+.5%) | 1.812063 ↻ | 1.872901 (+3.3%) | 2.013087 (+11.%) | 2.00138 (+10.4%) | 2.046 (+12.9%) | |||||||
array1 | 4.340836 (+36.%) | 4.323144 (+35.4%) | 3.339707 (+4.6%) | 3.389995 (+6.2%) | 3.19103 ↻ | 3.195461 (+.1%) | 6.062 (+89.9%) | |||||||
string | 2.792387 (+198.8%) | 2.794778 (+199.%) | 2.796204 (+199.2%) | 2.794163 (+199.%) | .944362 (+1.%) | .934493 ↻ | 1.637 (+75.1%) | |||||||
sum1 | .407814 (+31.1%) | .404913 (+30.2%) | .376965 (+21.2%) | .372943 (+19.9%) | .3227 (+3.7%) | .310945 ↻ | 9.146 (+2841.3%) | |||||||
cat | 1.320431 (+27.3%) | 1.303888 (+25.7%) | 1.045256 (+.8%) | 1.036919 ↻ | 1.048139 (+1.%) | 1.046413 (+.9%) | 3.606 (+247.7%) | |||||||
tail | 1.706663 (+11.8%) | 1.722042 (+12.8%) | 1.701771 (+11.4%) | 1.717106 (+12.4%) | 1.542297 (+1.%) | 1.526462 ↻ | 2.15 (+40.8%) | |||||||
wc | 1.356028 (+39.5%) | 1.250772 (+28.6%) | .971986 ↻ | .995766 (+2.4%) | 1.091369 (+12.2%) | 1.081372 (+11.2%) | 2.557 (+163.%) | |||||||
read1 | .826915 (+10.%) | .800092 (+6.4%) | .825449 (+9.8%) | .801298 (+6.6%) | .781547 (+3.9%) | .751539 ↻ | 9.768 (+1199.7%) | |||||||
conform | 2.533116 (+47.5%) | 2.703339 (+57.4%) | 1.903382 (+10.8%) | 1.835986 (+6.9%) | 1.757581 (+2.3%) | 1.717183 ↻ | 3.311 (+92.8%) | |||||||
dynamic | 3.762306 (+43.1%) | 3.81998 (+45.3%) | 3.539244 (+34.6%) | 3.468323 (+31.9%) | 2.778876 (+5.7%) | 2.628898 ↻ | 7.844 (+198.3%) | |||||||
earley | 3.006459 (+6.6%) | 2.922956 (+3.6%) | 2.819931 ↻ | 2.880182 (+2.1%) | 3.147632 (+11.6%) | 3.13855 (+11.2%) | 6.857 (+143.1%) | |||||||
graphs | 6.698502 (+266.6%) | 6.58441 (+260.3%) | 6.853401 (+275.1%) | 6.744576 (+269.1%) | 5.938881 (+225.%) | 5.749392 (+214.6%) | 1.827 ↻ | |||||||
lattice | 3.691809 (+43.9%) | 3.941794 (+53.6%) | 2.942244 (+14.7%) | 2.801647 (+9.2%) | 3.01643 (+17.5%) | 2.88945 (+12.6%) | 2.565 ↻ | |||||||
matrix | 1.759524 (+74.7%) | 1.68764 (+67.5%) | 1.517258 (+50.6%) | 1.487517 (+47.7%) | 1.130388 (+12.2%) | 1.123807 (+11.5%) | 1.007 ↻ | |||||||
maze | .810185 (+35.2%) | .771872 (+28.8%) | .658469 (+9.9%) | .656178 (+9.5%) | .598878 ↻ | .619785 (+3.4%) | 0.698 (+16.5%) | |||||||
mazefun | 2.237359 (+35.2%) | 2.141013 (+29.4%) | 2.060638 (+24.5%) | 2.08659 (+26.1%) | 1.736419 (+4.9%) | 1.653993 ↻ | 1.929 (+16.6%) | |||||||
nqueens | 6.578422 (+47.%) | 6.630963 (+48.1%) | 6.083604 (+35.9%) | 6.157948 (+37.6%) | 5.487806 (+22.6%) | 5.432058 (+21.3%) | 4.475 ↻ | |||||||
paraffins | 2.8615 (+9.3%) | 2.770384 (+5.8%) | 2.781842 (+6.2%) | 2.853352 (+8.9%) | 2.627384 (+.3%) | 2.61788 ↻ | 8.863 (+238.5%) | |||||||
parsing | 1.541824 (+10.6%) | 1.518767 (+8.9%) | 1.464091 (+5.%) | 1.393662 ↻ | 1.41668 (+1.6%) | 1.409168 (+1.1%) | 1.489 (+6.8%) | |||||||
peval | 1.958164 (+38.4%) | 2.019916 (+42.7%) | 1.704442 (+20.4%) | 1.735006 (+22.6%) | 1.421733 (+.5%) | 1.414618 ↻ | 1.626 (+14.9%) | |||||||
primes | .96164 (+88.3%) | .971384 (+90.2%) | .851169 (+66.6%) | .834011 (+63.3%) | .510947 (+0.%) | .510637 ↻ | 0.664 (+30.%) | |||||||
quicksort | 3.691028 (+22.6%) | 3.53514 (+17.4%) | 3.127215 (+3.9%) | 3.092753 (+2.7%) | 3.053944 (+1.4%) | 3.009726 ↻ | 7.651 (+154.2%) | |||||||
scheme | 2.761936 (+19.4%) | 2.791303 (+20.6%) | 2.368813 (+2.4%) | 2.644372 (+14.3%) | 2.437168 (+5.3%) | 2.334286 (+.9%) | 2.313 ↻ | |||||||
slatex | 2.151685 (+19.3%) | 2.116842 (+17.3%) | 2.012988 (+11.6%) | 1.976008 (+9.5%) | 1.856375 (+2.9%) | 1.803445 ↻ | 5.975 (+231.3%) | |||||||
chudnovsky | .273067 (+31.9%) | .271415 (+31.1%) | .271121 (+30.9%) | .267838 (+29.3%) | .248334 (+19.9%) | .247911 (+19.7%) | 0.207 ↻ | |||||||
nboyer | 2.321689 (+10.5%) | 2.319034 (+10.3%) | 2.100946 ↻ | 2.12694 (+1.2%) | 2.207415 (+5.%) | 2.16183 (+2.8%) | 3.387 (+61.2%) | |||||||
sboyer | 1.069247 (+45.8%) | 1.128239 (+53.8%) | .733202 ↻ | .73414 (+.1%) | .847356 (+15.5%) | .849238 (+15.8%) | 0.866 (+18.1%) | |||||||
gcbench | 1.919827 (+49.6%) | 1.931406 (+50.5%) | 1.312237 (+2.2%) | 1.304922 (+1.6%) | 1.283287 ↻ | 1.336527 (+4.1%) | 2.331 (+81.6%) | |||||||
mperm | 4.283696 (+7.4%) | 4.176165 (+4.7%) | 3.988523 ↻ | 4.000643 (+.3%) | 4.434276 (+11.1%) | 4.458138 (+11.7%) | 20.891 (+423.7%) | |||||||
equal | .231377 (+8.5%) | .228244 (+7.%) | .226817 (+6.3%) | .236495 (+10.9%) | .213186 ↻ | .224409 (+5.2%) | 1.551 (+627.5%) | |||||||
bv2string | .791287 (+15.4%) | .791373 (+15.4%) | .816 (+19.%) | .787017 (+14.8%) | .687448 (+.2%) | .68544 ↻ | 1.487 (+116.9%) |