At Sun, 4 Nov 2012 21:03:15 -0500, Sam Tobin-Hochstadt wrote:
> > but, anyway... I think
> > that benchmark turns out to measure mostly allocation. Racket in 32-bit
> > mode, where pair and vectors take up half as much space, runs almost
> > twice as fast as Racket in 64-bit mode.
>
> Is the Gambit allocator that much faster than ours? Or does it use
> less memory for pairs and vectors?
I think Gambit uses less memory for pairs and vector --- one less word
per object.
That wouldn't explain the x2.2 difference, and on further
investigation, it turns out that I was running a 32-bit Gambit build.
Enclosed is a comparison of 32-bit Gambit and 32-bit Racket. (Switching
my Chicken installation seems like too much work for a sanity check.)
You'll see that Racket still x1.41 Gambit's time for "paraffins", which
is a closer match for the difference in allocation sizes.
| fastest | gambit | racket |
conform | 82 | 261 ms | 42.73 | 1 | 1 | 1.41 |
cpstak | 178 | 2727 ms | 1 | 1 | 1.27 | 1.46 |
ctak | 177 | 241 ms | 1 | 1 | 1.34 | 20.72 |
dderiv | 244 | 2052 ms | 1 | 1 | 1.07 | 1.35 |
deriv | 203 | 1561 ms | 1 | 1 | 1.07 | 1.42 |
destruct | 22 | 173 ms | 25.36 | 1 | 1 | 1.35 |
div | 205 | 4392 ms | 1.18 | 1.14 | 1 | 1 |
dynamic | 240 | 576 ms | 209.73 | 33.46 | 1 | 1 |
dynamic2 | 473 | 600 ms | 105.53 | 32.29 | 1 | 1 |
earley | 388 | 214 ms | 20.56 | 1.70 | 1 | 1 |
fft | 202 | 3079 ms | 3.93 | 1.14 | 1 | 1 |
graphs | 229 | 3429 ms | 11.48 | 1.76 | 1 | 1 |
lattice | 35 | 1554 ms | 19.14 | 1.20 | 1 | 1 |
lattice2 | 320 | 4747 ms | 2.08 | 1.34 | 1 | 1 |
maze | 74 | 296 ms | 67.02 | 2.07 | 1 | 1 |
maze2 | 276 | 3941 ms | 17.23 | 3.96 | 1 | 1 |
mazefun | 235 | 7691 ms | 7.41 | 1.56 | 1 | 1 |
nboyer | 317 | 2082 ms | 4.29 | 1.13 | 1 | 1 |
nestedloop | 262 | 6824 ms | 1.35 | 1.19 | 1 | 1 |
nfa | 199 | 5801 ms | 1.04 | 1 | 1 | 1.08 |
nothing | 84 | 0 ms | 1 | 1 | 3.33 | 1 |
nqueens | 231 | 4459 ms | 1.03 | 1.19 | 1 | 1 |
nucleic2 | 1234 | 8016 ms | 46.84 | 1.63 | 1 | 1 |
nucleic3 | 609 | 7617 ms | 0 | - | 1 | 1 |
paraffins | 210 | 3271 ms | 16.39 | 1 | 1 | 1.41 |
peval | 109 | 280 ms | 64.01 | 1.02 | 1 | 1 |
puzzle | 220 | 5196 ms | 5.14 | 1.15 | 1 | 1 |
ray | 276 | 5267 ms | 0 | - | 1 | 1 |
sboyer | 356 | 3236 ms | 3.82 | 1.07 | 1 | 1 |
scheme | 162 | 194 ms | 88.49 | 1.47 | 1 | 1 |
scheme-c | 335 | 549 ms | 8.30 | 2.83 | 1 | 1 |
scheme-i | 261 | 1075 ms | 2.53 | 1.04 | 1 | 1 |
scheme2 | 395 | 208 ms | 38.86 | 1.39 | 1 | 1 |
sort1 | 28 | 817 ms | 12.14 | 1.95 | 1 | 1 |
tak | 171 | 4915 ms | 1 | 1.21 | 1.16 | 1 |
takl | 208 | 4452 ms | 1 | 1 | 1.10 | 1.24 |
takr | 459 | 2503 ms | 114.42 | 1 | 1 | 1.40 |
takr2 | 403 | 2183 ms | 126.87 | 1 | 1 | 1.66 |
triangle | 218 | 4462 ms | 1.86 | 1.45 | 1 | 1 |
____________________
Racket Users list:
http://lists.racket-lang.org/users