On 09/30/2013 08:52 PM, Bradley Lucier wrote:
The times for 32-bit on my Core i7:
<stuff deleted>
On my Q6600, which is the same, I believe, as as used here:
http://benchmarksgame.alioth.debian.org/u64/benchmark.php?test=pidigits&...
The timings are:
64 bit:
Old:
time ./pidigits2-gambit > /dev/null (time (digits 10000)) 16251 ms real time 16228 ms cpu time (15484 user, 744 system) 9987 collections accounting for 3023 ms real time (2888 user, 140 system) 12173870360 bytes allocated 263552 minor faults no major faults 15.488u 0.748s 0:16.26 99.7% 0+0k 0+0io 0pf+0w
New:
time ./pidigits2-gambit > /dev/null (time (digits 10000)) 13289 ms real time 13272 ms cpu time (12752 user, 520 system) 8065 collections accounting for 2421 ms real time (2268 user, 96 system) 9831650712 bytes allocated 205741 minor faults no major faults 12.760u 0.520s 0:13.30 99.8% 0+0k 0+0io 0pf+0w
32-bit:
Old:
time ./pidigits2-gambit > /dev/null (time (digits 10000)) 31351 ms real time 31308 ms cpu time (30512 user, 796 system) 11396 collections accounting for 2461 ms real time (2460 user, 68 system) 12119457704 bytes allocated 266083 minor faults no major faults 30.516u 0.800s 0:31.36 99.8% 0+0k 0+0io 0pf+0w
New:
time ./pidigits2-gambit > /dev/null (time (digits 10000)) 27339 ms real time 27300 ms cpu time (26824 user, 476 system) 9223 collections accounting for 2096 ms real time (2092 user, 56 system) 9808284504 bytes allocated 212081 minor faults no major faults 26.832u 0.476s 0:27.34 99.8% 0+0k 0+0io 0pf+0w
So current gmp kills us (all loops are in hand-coded assembler), but we don't do too badly compared to the other implementations.
Brad