| My current Perl Projects - BigInt Benchmarks - Libraries |
The following benchmarks were all created with Bigbench. The include and definition files to generate them, along with the full ASCII output are found in the .tgz files that are listed along with each benchmark.
Please see here for even newer benchmarks between the different BigInt versions.
2002-02-14 Benchmark was done on a 1050 Mhz AMD Athlon under Linux with 32 bit Perl v5.7.2 Patchlevel 13382. For the libraries the following versions were used:
BigBench v0.07 (c) Copyright by Tels 2001. Have fun!
Wed Feb 13 08:43:53 2002 Reading templates from 'libs/'...done.
Got 7 templates.
Wed Feb 13 08:43:53 2002 Reading definitions from bigint.def...done.
Got 325 ops in 34 groups.
Each op will run for at least 2 seconds.
Results are scaled by factor 1 and rounded to 3 digits.
The benchmark will run for approximately 3.1 hours.
[snip]
Wed Feb 13 11:57:56 2002 Numbers are absolute ops/s, scaled by factor 1.
| v1.50 v1.50 v1.50 v1.50 v1.50 v1.50 v1.50
| BitVect BitVect GMP GMP Pari Pari
| v1.06 v1.07 v1.03 v1.04 v1.05 v1.06
-------------------+----------------------------------------------------
1 | 11500 9130 9570 9050 10500 10900 10900
1e10 | 10900 8580 8490 8650 10000 10500 10500
1e100 | 9170 4400 4400 7520 9530 9820 9910
1e1000 | 3990 134 134 3380 5300 5450 5480
1e10000 | 534 1.00 1.00 195 238 241 241
-1234567890 | 10600 8060 8100 8370 9680 10100 10100
new: | 7780 5050 5120 6190 7560 7830 7850
...................|....................................................
NaN | 30800 23800 23700 20300 24000 27000 27000
-1e123 | 6760 3250 3250 5800 6950 7110 7110
-1.23456789e123 | 6540 3080 3080 5660 6700 6880 6890
+inf | 46200 32900 31800 26400 33800 39300 39300
-inf | 45800 32800 32400 26200 34600 39100 39400
new specials: | 27200 19200 18800 16900 21200 23900 23900
...................|....................................................
5 | 15500 319 328 254 299 386 386
12 | 15400 284 307 229 269 346 373
123 | 15500 346 383 285 335 421 464
1234 | 15400 232 255 188 220 288 314
12345 | 15500 336 380 278 326 411 468
123456 | 15600 200 217 162 190 248 268
1234567 | 15300 276 305 225 265 339 375
12345**2+1 | 2270 230 253 188 218 288 313
144e100 | 1490 109 115 127 148 195 206
144e101 | 194 91.0 95.0 104 122 162 168
144e1000 | 284 1.00 1.00 90.0 103 130 135
123e100 | 193 109 115 127 148 195 206
123e1000 | 4.00 1.00 1.00 89.0 103 130 135
1e10 | 3290 423 497 365 429 527 621
1e100 | 1480 273 302 359 421 517 606
bsqrt: | 7830 215 237 205 240 306 336
...................|....................................................
1 | 35300 31700 31400 19300 26600 24600 24800
1e10 | 35100 31900 31500 19500 26400 24800 24800
1e100 | 35300 31800 31500 19400 25800 24700 24400
1e1000 | 35300 32000 31400 19100 25800 24300 24300
binc: | 35300 31800 31400 19300 26200 24600 24600
...................|....................................................
1 | 15400 13500 13500 9000 10600 12000 12200
1e10 | 15200 13600 13500 9090 10600 12200 12200
1e100 | 13300 13500 13500 9090 10400 12200 12200
1e1000 | 6130 13300 13300 9090 10300 11900 12000
1e10000 | 967 12500 12400 8630 9590 10500 10600
++: | 10200 13300 13200 8980 10300 11800 11800
...................|....................................................
1 | 24800 21600 21000 10600 15000 18900 18700
1e10 | 27600 23900 23600 13300 18600 20100 20200
1e100 | 27600 24100 23600 13400 18500 20100 20000
1e1000 | 27600 23900 23700 13300 18500 19600 19700
bdec: | 26900 23400 22900 12600 17700 19700 19700
...................|....................................................
1 | 13000 10900 11000 6540 8030 10500 10500
1e10 | 13700 11700 11700 7520 9050 10900 11000
1e100 | 13000 11700 11800 7470 8840 10800 10800
1e1000 | 9390 11600 11600 7410 8800 10700 10700
1e10000 | 2470 11000 11000 7110 8370 9220 9260
--: | 10300 11400 11400 7210 8620 10500 10500
...................|....................................................
1+1 | 9030 6710 6790 5490 6350 8410 8430
1e10+1e10 | 11800 8640 8680 7630 9240 11200 11300
1e100+1e100 | 9380 8610 8590 7560 9210 11200 11300
1e1000+1e1000 | 3170 8340 8330 7570 9170 10900 10900
1+ -1 | 10400 3330 10100 7920 9280 11700 11700
1e1000+1 | 11600 8070 8190 7530 9050 11000 11200
1e1000+-1 | 2170 7840 7920 7730 8770 10200 10300
badd: | 8220 7360 8370 7350 8720 10700 10700
...................|....................................................
1 - 1 | 6390 3130 6110 4340 4980 6700 6720
1e10 - 1e10 | 7670 3290 7610 5680 6640 8440 8450
1e100 - 1e100 | 6710 3310 7570 5590 6680 8390 8340
1e1000 - 1e1000 | 2970 3270 7590 5630 6670 8400 8430
1 - -1 | 9010 6960 6960 6320 7360 8540 8480
1e1000 - 1 | 2000 6120 6140 5570 6360 7650 7700
1e1000 - -1 | 8550 6740 6740 6270 7280 8500 8580
bsub: | 6190 4690 6960 5630 6570 8090 8100
...................|....................................................
1 - 1 | 6130 2950 5800 4320 4900 6400 6420
1e10 - 1 | 5930 5110 5090 4340 4810 5990 5960
1e100 - 1 | 4750 5090 5090 4300 4790 5960 6020
1e100 - 1e10 | 4760 5140 5140 4300 4770 5960 5990
$x - $y: | 5390 4570 5280 4320 4820 6080 6100
...................|....................................................
1 * 1 | 12600 8400 8410 7610 9320 11300 11500
2 * 2 | 12500 8270 8350 7630 9260 11500 11300
12 * 12 | 12500 8320 8310 7660 9260 11400 11400
123 * 123 | 12500 8230 8250 7630 9290 11400 11400
1234 * 1234 | 12500 8210 8270 7600 9260 11500 11500
12345 * 12345 | 11600 8200 8310 7660 9280 11400 11500
123456*123456 | 11500 8210 8160 7650 9280 11400 11400
1234567*1234567 | 11500 8160 8160 7650 9280 11500 11500
12345678*12345678 | 8070 8120 8130 7650 9280 11300 11500
12345679*12345679 | 8040 8020 8070 7650 9280 11400 11500
12 * 2 | 12600 8370 8360 7540 9220 11500 11500
123 * 2 | 12500 8360 8370 7610 9340 11300 11400
1234 * 2 | 12500 8380 8390 7520 9340 11400 11500
12345 * 2 | 12500 8320 8450 7600 9340 11400 11600
123456 * 2 | 12500 8380 8290 7630 9390 11400 11600
1234567 * 2 | 12600 8370 8340 7560 9300 11500 11600
12345678 * 2 | 8650 8370 8380 7520 9280 11400 11500
123456789 * 2 | 8580 8270 8340 7600 9320 11400 11500
1e10 * 1e10 | 8730 8110 8090 7580 9360 11400 11400
1e100 * 1e100 | 5810 3660 3640 7610 9190 11100 11100
1e1000 * 1e1000 | 1380 82.0 82.0 5500 6230 5170 5200
1 * -1 | 13400 8870 8930 9270 10600 12000 12200
1e1000 * 1 | 3040 7530 7590 7580 9060 11200 11400
1e1000 * 10 | 3030 6980 7010 7310 9130 11300 11300
1e1000 * -10 | 3110 7350 7390 9060 10600 11900 12100
bmul: | 9780 7660 7680 7640 9260 11200 11300
...................|....................................................
1 | 86400 80500 78900 49600 63900 86000 83600
1e10 | 88500 83100 82700 49800 63900 86000 86000
1e100 | 88900 84300 81800 49600 63600 86000 85200
1e1000 | 88900 84700 82300 49600 63000 86400 85500
1e10000 | 88500 83900 82300 49800 63300 86500 83900
bneg: | 88200 83300 81600 49700 63600 86200 84900
...................|....................................................
1 | 17900 16200 15900 8920 12200 14300 14400
1e10 | 18200 16300 16300 8960 12000 14400 14400
1e100 | 18100 16300 16200 8880 12000 14400 14400
1e1000 | 18400 16400 16100 8880 12000 14200 14200
1e10000 | 18300 16400 16200 8610 11500 12500 12500
bnot: | 18200 16300 16100 8850 11900 14000 14000
...................|....................................................
1e10 | 22200 20100 19800 13500 13900 19500 19500
1e100 | 18400 19700 20100 13200 13800 19500 19500
1e1000 | 7280 19800 20000 13000 13800 19100 19200
1e10000 | 990 18100 17600 12600 13200 17300 17200
x = -x: | 14200 19500 19400 13100 13700 19000 19000
...................|....................................................
1 | 246000 250000 248000 250000 245000 249000 246000
1e10 | 246000 246000 251000 252000 245000 251000 247000
1e100 | 249000 253000 249000 246000 247000 249000 251000
1e1000 | 250000 249000 253000 246000 246000 251000 249000
1e10000 | 255000 251000 248000 253000 251000 246000 252000
babs: | 249000 250000 250000 250000 247000 249000 249000
...................|....................................................
-1 | 109000 111000 109000 126000 111000 105000 103000
-1e10 | 107000 108000 116000 125000 107000 99700 100000
-1e100 | 114000 120000 119000 117000 116000 97800 101000
-1e1000 | 81500 101000 112000 118000 104000 96900 98600
-1e10000 | 27300 106000 116000 122000 112000 76800 81600
x = abs(x): | 87800 109000 115000 122000 110000 95300 96900
...................|....................................................
1 ** 1 | 14600 13700 13800 9490 11100 14400 14500
1 ** 100 | 14700 13600 13700 9370 11200 14400 14400
2 ** 15 | 5440 7420 7420 4950 6090 8640 8560
3 ** 15 | 5260 6590 6530 4910 6100 8490 8480
4 ** 15 | 5290 6340 6420 4950 6090 8490 8470
2 ** 150 | 2340 7370 7370 4930 6010 8620 8610
3 ** 150 | 1640 4050 4060 4860 6050 8360 8330
2 ** 255 | 1610 7310 7360 4850 6050 8650 8520
3 ** 255 | 1020 2300 2290 4890 6010 8230 8220
7 ** 777 | 101 274 274 4570 5500 7350 7340
123456789 ** 2 | 5240 6760 6750 5030 6050 8650 8580
x->bpow(y): | 5200 6880 6900 5710 6930 9480 9460
...................|....................................................
1 ** 1 | 9390 8630 8590 6080 6730 8840 8840
1 ** 100 | 9300 8630 8590 6050 6730 8840 8840
2 ** 150 | 2130 5580 5580 3880 4460 6220 6220
3 ** 150 | 1530 3460 3440 3880 4460 6080 6100
7 ** 777 | 101 268 269 3660 4160 5530 5550
123456789 ** 2 | 4320 5250 5250 3900 4520 6280 6280
x ** y: | 4460 5300 5290 4570 5180 6960 6970
...................|....................................................
1 / 1 | 11000 3040 10900 7270 9240 12300 12200
123 / 1 | 10300 10500 10300 6680 8090 11400 11500
1e100 / 1 | 11600 10400 10300 6690 8120 11400 11500
123456789 / 1 | 11100 3020 10700 7280 9220 12300 12200
1234 / 123 | 8760 6870 6840 5100 6210 9020 9040
1e100 / 1e10 | 3220 3170 3170 5150 6210 8830 8850
1e1000 / 1e10 | 632 94.0 94.0 4930 5890 8060 7930
1e10000 / 1e10 | 67.0 1.00 1.00 3810 4400 4270 4300
1e1000 / 1e100 | 641 93.0 93.0 4660 5560 7350 7380
1e10000 / 1e100 | 66.0 1.00 1.00 2540 2790 2630 2640
1e10000 / 1e1000 | 66.0 1.00 1.00 1000 1040 693 693
1e10000 / 123456 | 34.0 1.00 1.00 4160 4820 6160 6070
bdiv: | 4790 3090 4370 4940 5960 7870 7860
...................|....................................................
123456789 / 1 | 7180 3100 6680 5010 6120 7560 7560
1234 / 123 | 5780 4630 4610 3350 4040 5650 5620
1e100 / 1e10 | 2590 2570 2590 3320 3990 5550 5580
1e1000 / 1e10 | 603 93.0 94.0 3180 3800 5000 5000
1e10000 / 1e10 | 65.0 1.00 1.00 2320 2630 2480 2480
1e1000 / 1e100 | 597 91.0 93.0 2970 3490 4430 4450
1e10000 / 1e100 | 65.0 1.00 1.00 1450 1550 1450 1450
1e10000 / 1e1000 | 63.0 1.00 1.00 528 544 353 352
1e10000 / 123456 | 33.0 1.00 1.00 2560 2980 3610 3590
1 / 1 | 7300 3080 6660 5010 6110 7550 7530
123 / 1 | 8100 7580 7580 5210 6520 8330 8440
1e100 / 1 | 8750 7610 7600 5230 6470 8500 8440
bdiv list: | 3430 2400 2990 3340 4020 5040 5040
...................|....................................................
1 % 1 | 12200 2660 4120 7600 9160 11600 11400
1234 % 123 | 11900 3220 3200 7520 8950 10700 10700
1e10 % 2 | 11900 3060 3070 7650 9110 11300 11300
1e100 % 2 | 12000 3040 3070 7570 9170 11400 11200
1e1000 % 2 | 12100 3070 3070 7630 9110 11300 11300
1e10000 % 2 | 11900 3050 3070 7580 9130 11400 11400
1e10 % 3 | 10800 3020 3020 7470 8960 10700 10700
1e100 % 3 | 10700 3020 3040 7510 8930 10700 10700
1e1000 % 3 | 10800 3020 3040 7540 8990 10700 10800
1e10000 % 3 | 10800 3020 3020 7390 9010 10700 10700
1e10 % 7 | 10400 2990 3010 7470 8930 10700 10700
1e100 % 7 | 10400 3000 2990 7510 8910 10700 10700
1e1000 % 7 | 10500 3010 3000 7520 9010 10700 10700
1e10000 % 7 | 10500 2990 3010 7490 8970 10700 10800
1e10 % 1e9 | 5800 3040 3020 7570 9190 11400 11300
1e100 % 1e9 | 3210 2070 2060 7530 9070 11200 11200
1e1000 % 1e9 | 635 92.0 93.0 7220 8690 10800 10700
1e10000 % 1e9 | 66.0 1.00 1.00 5730 6540 7380 7370
bmod: | 9270 2630 2720 7420 8880 10800 10800
...................|....................................................
x = copy(1) | 37600 32000 31800 19700 20100 30500 30500
x = copy(1e10) | 36200 32000 32000 20100 20200 31100 30700
x = copy(1e100) | 27600 31800 31800 19500 20300 30700 30800
x = copy(1e1000) | 8300 30500 30700 19600 19800 30100 29800
x = copy(1e10000) | 1020 26800 26900 19000 18700 26100 25900
copy: | 22100 30600 30600 19600 19800 29700 29500
...................|....................................................
x = new(1) | 28100 24700 24700 17000 17200 23600 23800
x = new(1e10) | 27400 24600 24700 17100 17100 23600 24200
x = new(1e100) | 21500 24600 24800 16800 17000 23900 23900
x = new(1e1000) | 7690 24300 24200 16900 16900 23500 23600
x = new(1e10000) | 976 21900 21400 16200 16100 20600 21000
copy via new: | 17100 24000 23900 16800 16900 23000 23300
...................|....................................................
1 >> 1 | 7800 2640 9270 1980 2370 8960 8870
1e10 >> 1 | 5090 2330 9120 1840 2220 8880 8890
1e10 >> 8 | 3920 2050 8490 1630 1960 8990 8960
1e100 >> 1 | 3030 1710 9110 1810 2200 8870 8850
1e100 >> 8 | 2620 1560 8910 1630 1960 8770 8880
1e100 >> 255 | 1040 1550 8100 1620 1950 7920 7890
1e1000 >> 255 | 282 90.0 6290 1590 1890 7540 7620
brsft: | 3400 1710 8470 1730 2080 8560 8560
...................|....................................................
1 << 1 | 8760 2650 9760 2200 2620 10300 10300
1e10 << 1 | 6940 2660 9730 2190 2640 10300 10300
1e10 << 8 | 5200 2320 9670 1920 2300 10300 10300
1e100 << 1 | 5890 2650 9670 2210 2630 10200 10300
1e100 << 8 | 4660 2320 9560 1920 2290 10300 10300
1e100 << 255 | 1430 1990 9030 1900 2260 9960 10200
1e1000 << 255 | 1110 1040 6840 1910 2260 9130 9180
blsft: | 4860 2230 9180 2040 2430 10100 10100
...................|....................................................
1 & 1 | 8630 7480 7450 676 777 9380 9380
1 & 2**32 | 4110 7580 7550 679 793 9370 9380
2**32 & 1 | 4100 7630 7620 664 781 9480 9400
2**64 & 1 | 3820 7570 7620 661 777 9370 9340
2**128 & 1 | 3110 7620 7570 658 781 9430 9440
2**256 & 1 | 2320 7650 7580 664 781 9480 9400
2**32 & 123 | 4100 7530 7610 663 781 9480 9490
2**64 & 123 | 3820 7570 7610 664 781 9410 9390
2**128 & 123 | 3110 7610 7610 661 777 9350 9350
2**256 & 123 | 2310 7590 7570 661 777 9410 9440
2**32 & 2**64 | 2330 7760 7700 273 324 9430 9350
2**64 & 2**32 | 2320 7630 7720 271 322 9400 9310
2**32 & 2**128 | 1830 7710 7700 271 324 9370 9310
2**128 & 2**32 | 1830 7680 7670 271 320 9440 9370
2**64 & 2**128 | 1230 7670 7670 143 171 9380 9330
2**128 & 2**64 | 1220 7670 7710 143 171 9380 9300
2**64 & 2**256 | 880 7730 7660 143 172 9310 9280
2**256 & 2**64 | 882 7670 7670 143 171 9370 9360
2**128 & 2**256 | 429 7640 7610 81.0 96.0 9380 9370
2**256 & 2**128 | 427 7670 7720 80.0 96.0 9380 9370
2**256 & 2**256 | 7770 7590 7530 41.0 49.0 9400 9280
band: | 2890 7630 7630 405 477 9400 9360
...................|....................................................
1 ^ 1 | 9080 8360 8310 736 855 10300 10300
1 ^ 2**32 | 3880 8160 8330 296 352 10400 10300
2**32 ^ 1 | 3870 8110 8170 300 355 10400 10400
2**64 ^ 1 | 3170 8110 8190 194 230 10200 10300
2**128 ^ 1 | 2500 8110 8100 113 134 10300 10200
2**256 ^ 1 | 1770 8120 8130 62.0 74.0 10300 10400
2**32 ^ 123 | 3860 8120 8110 301 355 10300 10400
2**64 ^ 123 | 3180 8110 8160 193 230 10300 10300
2**128 ^ 123 | 2480 8180 8120 113 135 10300 10300
2**256 ^ 123 | 1770 8110 7920 62.0 74.0 10200 10400
2**32 ^ 2**64 | 2050 8240 8260 183 219 10300 10200
2**64 ^ 2**32 | 2040 8180 8290 187 220 10300 10300
2**32 ^ 2**128 | 1570 8220 8100 109 130 10200 10300
2**128 ^ 2**32 | 1560 8170 8270 110 131 10300 10200
2**64 ^ 2**128 | 1090 8210 8240 106 126 10300 10300
2**128 ^ 2**64 | 1090 8160 8270 106 127 10300 10300
2**64 ^ 2**256 | 760 8120 8160 59.0 70.0 10300 10200
2**256 ^ 2**64 | 758 8210 8170 60.0 71.0 10300 10200
2**128 ^ 2**256 | 393 8180 8160 57.0 68.0 10300 10300
2**256 ^ 2**128 | 394 8170 8280 58.0 69.0 10300 10200
2**256 ^ 2**256 | 8070 8360 8350 54.0 65.0 10300 10200
bxor: | 2640 8180 8190 165 195 10300 10300
...................|....................................................
1 | 1 | 9300 8200 8130 686 788 10300 10200
1 | 2**32 | 3850 8270 8170 295 350 10300 10300
2**32 | 1 | 3850 8170 8160 302 357 10300 10400
2**64 | 1 | 3190 8160 8120 193 229 10400 10400
2**128 | 1 | 2490 8180 8110 113 135 10300 10300
2**256 | 1 | 1760 8180 8120 62.0 74.0 10200 10200
2**32 | 123 | 3840 8180 8220 299 355 10300 10400
2**64 | 123 | 3170 8110 8160 193 230 10300 10400
2**128 | 123 | 2490 8120 8120 113 135 10200 10200
2**256 | 123 | 1770 8130 8120 62.0 74.0 10300 10300
2**32 | 2**64 | 2050 8230 8150 183 218 10300 10300
2**64 | 2**32 | 2050 8160 8270 186 220 10300 10200
2**32 | 2**128 | 1570 8220 8210 109 130 10300 10300
2**128 | 2**32 | 1560 8220 8200 111 132 10300 10100
2**64 | 2**128 | 1090 8200 8160 106 126 10400 10300
2**128 | 2**64 | 1090 8160 8170 107 127 10300 10200
2**64 | 2**256 | 760 8170 8160 58.0 70.0 10300 10300
2**256 | 2**64 | 758 8210 8170 60.0 72.0 10200 10300
2**128 | 2**256 | 394 8170 8160 57.0 68.0 10200 10300
2**256 | 2**128 | 392 8210 8220 58.0 69.0 10300 10300
2**256 | 2**256 | 8390 8220 8200 54.0 65.0 10300 10200
bior: | 2660 8180 8170 162 192 10300 10300
...................|....................................................
() | 60000 56500 57500 51000 51800 55500 55700
(undef,undef) | 59100 55300 55500 51000 50400 53900 55000
12 (3) | 12300 11200 11200 9530 10400 11600 11600
12 (undef,3) | 6050 5150 5350 4850 5610 5770 5750
123 (3) | 12200 11300 11200 9530 10400 11600 11700
123 (undef,3) | 9680 8860 8860 7750 8400 9000 9020
1234 (3) | 8050 6750 6950 6340 7350 7530 7590
1234 (undef,3) | 6160 5150 5320 4890 5670 5690 5710
a=3 () | 7740 6560 6750 6160 7190 7290 7250
a=3 (1) | 7980 6770 6870 6330 7400 7550 7530
$x->a=3 (4) | 40300 38500 38300 36800 35300 39100 38600
round: | 20900 19300 19400 17700 18200 19500 19600
...................|....................................................
0x0 | 8690 8070 8030 2830 3330 6700 6700
0x1 | 7310 8030 7940 1230 1420 6510 6580
0x10 | 7380 8030 7990 1230 1410 6450 6510
0xFFFF | 6860 7950 7950 1050 1210 6480 6510
0xFFFFFF | 5930 7990 7910 706 821 6450 6510
0xFFFFFFFF | 5530 8060 8030 646 749 5500 5500
0xFFFFFFFFFF | 4280 8060 8030 499 584 5500 5480
2 ** 64 | 2660 8030 7970 367 426 4750 4750
2 ** 128 | 1190 7910 7880 197 230 3710 3720
from_hex: | 5540 8010 7970 972 1130 5780 5810
...................|....................................................
0x0 | 3670 3240 3270 2820 3310 3520 3530
0x1 | 3430 3210 3250 1220 1390 1620 1620
0x10 | 3390 3210 3270 1220 1400 1630 1610
0xFFFF | 3040 3200 3240 639 745 876 874
0xFFFFFF | 2720 3180 3240 466 541 637 634
0xFFFFFFFF | 2180 3210 3270 365 424 507 502
0xFFFFFFFFFF | 1980 3170 3250 315 367 430 432
2 ** 64 | 1210 3170 3220 196 229 272 272
2 ** 128 | 575 3130 3150 102 118 141 141
from_bin: | 2470 3190 3240 816 948 1070 1070
...................|....................................................
0x0 | 73600 67600 65400 33100 46600 71600 71600
0x1 | 15500 27000 26700 1930 2250 8840 8800
0x10 | 15700 27200 26400 1940 2260 8570 8570
0xFFFF | 15800 27200 26700 1940 2260 8570 8570
0xFFFFFF | 6220 27200 26800 1150 1350 8630 8630
0xFFFFFFFF | 6220 27000 26800 1150 1350 8840 8800
0xFFFFFFFFFF | 3880 27400 27000 809 954 6600 6580
0xFFFFFFFFFFFF | 3660 27300 27200 813 972 6570 6510
2 ** 64 | 2490 26700 26600 544 660 5770 5780
2 ** 128 | 1010 27000 26700 310 372 4260 4240
2 ** 256 | 357 26700 26200 166 202 2790 2790
2 ** 512 | 111 25500 25200 86.0 105 1630 1630
as_hex: | 12000 30300 29800 3660 4940 11900 11900
...................|....................................................
0x0 | 22300 19800 19500 12200 13300 20400 20500
0x1 | 10500 13400 13300 1760 2010 6670 6670
0x10 | 10500 13500 13300 1760 2000 6580 6540
0xFFFF | 10600 13700 13500 1770 2010 6510 6510
0xFFFFFF | 5160 13700 13600 1080 1260 6600 6580
0xFFFFFFFF | 5090 13600 13600 1080 1260 6670 6670
0xFFFFFFFFFF | 3390 13900 13700 781 923 5320 5300
0xFFFFFFFFFFFF | 3220 13700 13700 781 923 5320 5270
2 ** 64 | 2490 26500 25500 544 654 5750 5690
2 ** 128 | 1000 26100 25700 310 374 4240 4260
2 ** 256 | 356 25300 24300 166 201 2760 2780
2 ** 512 | 111 23300 23000 86.0 104 1610 1610
as_bin: | 6230 18000 17700 1860 2090 6530 6530
...................|....................................................
0 | 28300 22400 22000 14400 19600 25800 25400
1 | 21800 17100 17000 10400 14300 19300 19200
2 | 15000 2510 2610 2170 6680 3060 12500
3 | 13000 1670 1730 1460 5670 2050 12000
4 | 13000 1300 1320 1100 4930 1560 11800
5 | 12900 1050 1070 890 4320 1260 11900
6 | 12600 862 892 745 3840 1050 11800
7 | 12500 742 767 640 3470 906 11700
8 | 12300 671 671 559 3200 793 11700
9 | 12100 593 601 500 2970 705 11700
10 | 11900 532 546 450 2710 638 11700
11 | 9320 482 493 411 2530 583 11800
12 | 6500 440 453 377 2360 535 11700
100 | 107 53.0 54.0 46.0 357 65.0 9240
bfac: | 12900 3600 3580 2440 5500 4160 13100
...................|....................................................
BigBench v0.07 (c) Copyright by Tels 2001. Have fun!
Wed Feb 13 11:58:02 2002 Reading templates from 'libs/'...done.
Got 7 templates.
Wed Feb 13 11:58:02 2002 Reading definitions from bigfloat.def...done.
Got 220 ops in 25 groups.
Each op will run for at least 2 seconds.
Results are scaled by factor 1 and rounded to 3 digits.
The benchmark will run for approximately 117 minutes.
[snip]
Wed Feb 13 22:17:02 2002 Numbers are absolute ops/s, scaled by factor 1.
| v1.50 v1.50 v1.50 v1.50 v1.50 v1.50 v1.50
| BitVect BitVect GMP GMP Pari Pari
| v1.06 v1.07 v1.03 v1.04 v1.05 v1.06
-------------------+-------------------------------------------------
1 | 3860 3280 3390 2710 3170 3640 3660
1.'0'x10 | 1440 840 1110 721 848 976 1370
1.'0'x100 | 1380 412 436 696 821 941 1310
1.'0'x1000 | 994 2.00 2.00 486 573 583 735
1.'0'x10000 | 223 0 0 29.0 30.0 24.0 23.0
1e10 | 3310 2900 2980 2420 2820 3150 3150
1e100 | 3330 2890 2980 2410 2820 3130 3150
1e1000 | 3310 2890 2980 2400 2790 3140 3140
1e10000 | 3300 2890 2970 2420 2800 3130 3140
1.'1'x10 | 3760 3200 3240 2630 3100 3520 3540
1.'1'x100 | 3490 1860 1890 2520 3000 3410 3430
1.'1'x1000 | 2190 64.0 64.0 1680 2240 2490 2500
-1234567890 | 1420 852 1120 728 856 999 1360
-1.23456789 | 1930 1680 1720 1410 1590 1840 1840
-1.23e123456 | 1810 1560 1580 1380 1580 1760 1760
new: | 2380 1690 1760 1640 1940 2180 2270
...................|.................................................
NaN | 10100 8840 8720 7800 9050 9630 9590
+inf | 15100 12200 12000 10600 12600 14000 13700
-inf | 15000 12400 12000 10500 12700 13900 13700
new specials: | 13400 11100 10900 9630 11400 12500 12300
...................|.................................................
9 | 1460 240 243 192 224 283 283
12 | 14.0 9.00 10.0 10.0 11.0 13.0 15.0
16 | 1340 214 229 176 204 255 272
123 | 16.0 10.0 11.0 11.0 12.0 14.0 17.0
1234 | 19.0 11.0 13.0 12.0 14.0 16.0 19.0
12345 | 19.0 12.0 13.0 13.0 15.0 17.0 20.0
123456 | 19.0 12.0 13.0 13.0 14.0 17.0 19.0
123.456 | 16.0 10.0 11.0 11.0 13.0 15.0 17.0
123456789 | 16.0 10.0 11.0 11.0 13.0 15.0 17.0
1e10 | 389 183 226 159 184 219 273
1e100 | 323 140 161 158 183 216 268
1.'1'x10 | 24.0 15.0 17.0 16.0 19.0 22.0 25.0
1.'1'x100 | 29.0 10.0 10.0 24.0 28.0 33.0 37.0
144e1000 | 155 1.00 1.00 67.0 78.0 94.0 103
123e1000 | 3.00 0 0 15.0 17.0 20.0 22.0
fsqrt: | 257 58.5 64.7 59.3 68.7 83.3 93.9
...................|.................................................
1 | 5470 3620 4540 2530 3130 3640 4520
1e10 | 5480 3530 4420 2520 3070 3610 4480
1e100 | 5020 840 885 1250 1370 1480 1570
1e1000 | 2780 3.00 3.00 25.0 25.0 25.0 24.0
123.456 | 824 666 669 562 643 781 719
finc: | 3910 1730 2100 1380 1650 1910 2260
...................|.................................................
1 | 3130 2370 2750 1720 1980 2360 2700
1e10 | 3140 2320 2710 1720 1970 2370 2690
1e100 | 2930 752 789 1010 1090 1200 1280
1e1000 | 1820 3.00 3.00 24.0 25.0 25.0 25.0
1e10000 | 357 0 0 0 0 0 0
123.456 | 734 595 598 502 575 693 681
++: | 2020 1010 1140 831 942 1110 1230
...................|.................................................
1 | 5320 3580 4440 2430 3020 3640 4480
1e10 | 5110 3380 4160 2280 2860 3470 4260
1e100 | 4720 1210 1300 2160 2650 3210 3810
1e1000 | 2660 3.00 3.00 1220 1370 1440 1560
123.456 | 844 683 690 588 680 800 789
fdec: | 3730 1770 2120 1740 2120 2510 2980
...................|.................................................
1 | 3130 2350 2720 1680 1940 2370 2710
1e10 | 3030 2270 2620 1620 1890 2310 2630
1e100 | 2830 1030 1100 1550 1800 2190 2460
1e1000 | 1770 3.00 3.00 994 1090 1180 1260
1e10000 | 351 0 0 64.0 64.0 50.0 49.0
123.456 | 749 610 596 526 599 706 693
--: | 1980 1040 1170 1070 1230 1470 1630
...................|.................................................
1+1 | 1460 1250 1200 992 1140 1380 1330
1e10+1e10 | 1280 1100 1070 888 1020 1250 1170
1e100+1e100 | 1280 1090 1070 880 1030 1250 1210
1e1000+1e1000 | 1280 1100 1060 884 1030 1250 1200
1+ -1 | 1520 1350 1360 1080 1250 1520 1440
1e1000+1 | 348 89.0 87.0 648 745 903 845
1e1000+-1 | 315 89.0 87.0 659 735 918 877
1e1000+1e10 | 345 90.0 88.0 638 746 887 835
1e1000+-1e10 | 312 91.0 88.0 655 750 881 847
1e1000+1x10 | 348 89.0 86.0 655 750 907 850
1e1000+1x100 | 345 89.0 86.0 648 749 912 853
fadd: | 803 584 571 785 904 1100 1040
...................|.................................................
1 - 1 | 1430 1270 1260 1020 1160 1420 1380
1e10 - 1e10 | 1280 1120 1140 914 1060 1290 1230
1e100 - 1e100 | 1270 1120 1140 906 1050 1290 1260
1e1000 - 1e1000 | 1280 1120 1130 911 1060 1280 1190
1 - -1 | 1400 1190 1190 953 1100 1320 1280
1e1000 - 1 | 308 88.0 86.0 631 726 869 842
1e1000 - -1 | 346 88.0 85.0 637 731 884 850
1e1000 - 1e10 | 307 90.0 88.0 625 705 847 822
1e1000 - -1e10 | 340 90.0 87.0 618 716 855 822
1e1000-1x10 | 309 89.0 87.0 631 727 873 853
1e1000-1x100 | 307 89.0 87.0 631 730 872 840
fsub: | 781 578 579 771 888 1070 1030
...................|.................................................
1 - 1 | 1230 1100 1100 864 990 1210 1170
1e10 - 1 | 738 703 680 593 663 828 799
1e100 - 1 | 598 646 629 581 663 824 789
1e100 - 1e10 | 590 617 612 578 666 796 778
1e1000 - 1e10 | 298 90.0 88.0 567 649 767 738
$x - $y: | 691 632 621 637 726 886 855
...................|.................................................
1 * 1 | 4220 3480 3380 2520 3020 3960 3820
123 * 123 | 4260 3460 3390 2530 3070 3930 3860
1 * 123 | 2430 2060 2000 1410 1690 2190 2150
123 * 1234 | 2060 1690 1660 1250 1460 1820 1780
1e10 * 1e10 | 3770 2900 2840 2220 2740 3520 3420
1e100 * 1e100 | 3750 2880 2830 2210 2690 3510 3370
1e1000 * 1e1000 | 3810 2880 2830 2190 2710 3530 3390
1 * -1 | 4450 3620 3540 2660 3240 4070 3950
1e1000 * 10 | 3770 2860 2780 2190 2710 3490 3320
1e1000 * -10 | 3900 2980 2910 2330 2840 3620 3500
1x1000 * 123 | 797 2990 2980 2470 2960 3840 3780
fmul: | 3380 2890 2830 2180 2650 3410 3300
...................|.................................................
1 * 1 | 2790 2400 2350 1770 2040 2600 2520
1e10 * 1e10 | 2580 2110 2060 1600 1870 2400 2330
1e100 * 1e100 | 2560 2100 2060 1590 1870 2390 2340
1e1000 * 1e1000 | 2600 2110 2040 1600 1860 2400 2280
1 * -1 | 2890 2480 2420 1860 2100 2670 2600
1e1000 * 10 | 2590 2100 2060 1620 1870 2390 2310
1e1000 * -10 | 2670 2160 2090 1680 1920 2450 2380
1x1000 * 123 | 680 2180 2140 1720 2000 2590 2530
x * y: | 2420 2210 2150 1680 1940 2490 2410
...................|.................................................
1 | 33900 33200 32000 25600 29500 33500 33200
1e10 | 33700 32900 32100 25100 29500 34000 33400
1e100 | 33900 32900 32100 25400 29100 34100 33200
1e1000 | 34000 33100 32100 25200 29300 33700 32900
1e10000 | 33700 33000 31700 25000 29100 33100 32600
1.'1'x10 | 34500 33900 32300 25500 29400 33500 33000
1.'1'x100 | 34100 33700 32800 25500 29400 33900 33500
1.'1'x1000 | 34100 33800 32300 25600 29500 33800 33200
1.'1'x10000 | 34500 33700 32000 25400 29300 33700 32600
fneg: | 34000 33300 32100 25400 29400 33700 33100
...................|.................................................
1 | 5580 5110 5010 3080 3860 4700 4590
1e10 | 3450 1450 2540 1120 1350 1640 3190
1e100 | 3270 1210 1900 1120 1350 1660 3110
1e1000 | 2320 95.0 96.0 1070 1300 1550 2780
1e10000 | 595 1.00 1.00 499 546 510 618
'1'x10 | 4750 4070 4040 2730 3290 3920 3790
'1'x100 | 4730 802 798 2370 2810 3300 3150
'1'x1000 | 4630 2.00 2.00 902 953 964 944
'1'x10000 | 3770 0 0 33.0 33.0 26.0 25.0
fnot: | 3680 1420 1600 1440 1720 2030 2470
...................|.................................................
1 | 7590 7240 7140 5480 5660 7210 6980
1e10 | 7620 7280 7150 5480 5630 7140 7020
1e100 | 7660 7310 7290 5450 5610 7210 7050
1e1000 | 7690 7280 6990 5480 5630 7050 6950
1e10000 | 7590 7210 7210 5500 5550 7080 6920
1.'1'x10 | 7550 7350 7310 5450 5630 7250 7080
1.'1'x100 | 7080 7280 7310 5450 5610 7250 7060
1.'1'x1000 | 4420 7280 7240 5420 5630 7210 6920
1.'1'x10000 | 906 6980 6940 5350 5480 6850 6700
x = -x: | 6460 7250 7180 5450 5610 7140 6960
...................|.................................................
1 | 53300 53500 53900 53600 53600 53200 52200
1e10 | 53500 54400 53600 54000 53700 53200 53000
1e100 | 53200 54300 54300 53000 53800 53800 51700
1e1000 | 53200 54100 54600 54000 54600 53400 52400
1e10000 | 54000 53000 53900 53800 53400 51900 51800
fabs: | 53400 53800 54100 53700 53800 53100 52200
...................|.................................................
-1 | 88500 92300 87200 84800 81100 77500 91000
-1e10 | 80900 91500 103000 97400 86300 91900 81900
-1e100 | 87200 96900 91900 114000 98500 87500 98900
-1e1000 | 109000 92100 92500 85500 92200 95500 90500
-1e10000 | 102000 90700 102000 85100 90100 89500 92700
x = abs(x): | 93600 92700 95300 93300 89600 88400 91000
...................|.................................................
1 ** 1 | 6020 5650 5670 3810 4720 6180 6100
1 ** 100 | 6060 5640 5670 3790 4700 6090 6050
2 ** 15 | 1420 1430 1440 953 1150 1540 1490
3 ** 15 | 1510 1510 1520 1010 1230 1650 1620
4 ** 15 | 1400 1360 1390 953 1150 1530 1480
2 ** 150 | 598 524 582 451 537 645 698
3 ** 150 | 554 548 632 469 559 671 779
2 ** 255 | 861 798 802 919 1100 1450 1380
3 ** 255 | 683 1050 1060 1010 1230 1640 1610
7 ** 777 | 95.0 239 239 982 1200 1590 1540
123456789**2 | 1490 1510 1510 1010 1240 1660 1530
123456.789**2 | 1020 953 984 772 901 1100 1100
x->fpow(y): | 1810 1770 1790 1340 1640 2150 2120
...................|.................................................
1 ** 1 | 3510 3330 3330 2350 2680 3460 3410
1 ** 100 | 3520 3330 3300 2330 2680 3470 3320
2 ** 150 | 554 484 544 412 488 583 664
3 ** 150 | 514 507 583 430 507 614 700
7 ** 777 | 95.0 231 231 844 999 1330 1290
123456789**2 | 1260 1260 1280 860 1020 1370 1330
123456.789**2 | 893 832 864 676 793 954 947
1234.5678**12 | 617 490 492 634 731 868 841
x ** y: | 1370 1310 1330 1070 1240 1580 1560
...................|.................................................
1 / 1 | 2870 2620 2630 1960 2340 2880 2750
123 / 1 | 2890 2610 2620 1980 2370 2810 2700
1e100 / 1 | 2850 2620 2630 1950 2380 2850 2740
123456789 / 1 | 530 333 418 315 372 430 562
1e100 / 1e10 | 495 290 362 279 328 371 472
1e1000 / 1e10 | 500 296 360 277 325 368 484
1e10000 / 1e10 | 495 297 360 278 327 370 478
1e1000 / 1e100 | 497 295 360 276 327 370 477
1e10000 / 1e100 | 495 296 358 278 326 370 480
1e10000 / 1e1000 | 488 293 358 275 323 368 476
1e10000 / 123456 | 359 207 256 218 257 294 386
fdiv: | 1130 923 973 736 879 1040 1090
...................|.................................................
1 % 1 | 4190 3650 3690 2600 3260 4090 4180
1e10 % 2 | 562 347 394 328 389 457 542
1e100 % 2 | 560 347 395 328 391 462 524
1e1000 % 2 | 557 347 397 328 389 459 518
1e10000 % 2 | 560 339 397 327 389 457 526
1e10 % 3 | 560 347 397 328 387 459 531
1e100 % 3 | 563 347 399 327 389 460 528
1e1000 % 3 | 560 347 397 327 387 460 533
1e10000 % 3 | 557 347 397 326 389 459 517
1e10 % 7 | 541 339 387 319 378 443 517
1e100 % 7 | 544 340 387 321 380 446 506
1e1000 % 7 | 538 341 387 321 380 448 504
1e10000 % 7 | 541 340 385 321 378 445 514
1e10 % 1e9 | 426 268 328 254 302 353 442
1e100 % 1e9 | 398 248 300 253 301 349 437
1e1000 % 1e9 | 252 42.0 42.0 252 298 344 429
1e10000 % 1e9 | 55.0 1.00 1.00 195 223 230 264
fmod: | 704 490 534 439 530 636 706
...................|.................................................
copy(1) | 9260 8880 8760 6510 6630 8590 8450
copy(1e10) | 9440 8840 8840 6540 6570 8570 8220
copy(1e100) | 9350 8790 8840 6510 6570 8590 8580
copy(1e1000) | 9390 8800 8760 6540 6600 8450 8100
copy(1e10000) | 9260 8610 8760 6540 6480 8370 8300
copy(1) | 9260 8840 8840 6480 6600 8630 8490
copy(1.'1'x10) | 9260 8760 8800 6510 6600 8670 8450
copy(1.'1'x100) | 8490 8720 8800 6480 6570 8720 8370
copy(1.'1'x1000) | 4860 8720 8760 6510 6480 8490 8330
copy(1.'1'x10000) | 927 8180 8330 6400 6460 8180 8060
copy: | 7950 8710 8750 6500 6560 8530 8340
...................|.................................................
new(1) | 8570 8140 8140 6190 6280 8030 7770
new(1e10) | 8530 8100 8030 6190 6250 7950 7770
new(1e100) | 8490 8140 8100 6220 6310 7980 7840
new(1e1000) | 8650 8110 8030 6280 6310 7840 7700
new(1e10000) | 8530 7990 8100 6220 6220 7800 7660
new(1) | 8490 8180 8140 6160 6280 7990 7880
new(1.'1'x10) | 8570 8100 8100 6280 6310 7990 7880
new(1.'1'x100) | 7760 8060 8060 6280 6220 7990 7890
new(1.'1'x1000) | 4650 8070 8060 6220 6190 7910 7850
new(1.'1'x10000) | 910 7730 7660 6080 6100 7590 7520
copy via new: | 7310 8060 8040 6210 6240 7910 7780
...................|.................................................
1 >> 1 | 361 247 300 226 264 309 375
1e10 >> 1 | 359 244 296 226 266 308 373
1e10 >> 8 | 297 218 255 197 231 267 315
1e100 >> 1 | 357 244 295 227 265 307 372
1e100 >> 8 | 295 218 254 196 231 270 313
1e100 >> 255 | 195 105 114 176 206 237 270
1e1000 >> 255 | 197 105 114 176 206 237 271
frsft: | 295 197 233 203 239 276 327
...................|.................................................
1 << 1 | 967 840 844 646 749 916 893
1e10 << 1 | 961 827 839 630 750 922 886
1e10 << 8 | 676 594 589 446 527 647 625
1e100 << 1 | 975 824 844 634 756 903 886
1e100 << 8 | 670 586 598 446 527 652 630
1e100 << 255 | 481 356 360 425 501 611 596
1e1000 << 255 | 478 356 358 428 501 605 591
flsft: | 744 626 633 522 616 751 730
...................|.................................................
Wed Feb 13 22:17:05 2002 All done. Enjoy!
Some comments: