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.

Shootout between Calc, GMP, Pari and BitVect

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:

Full version

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: