D. J. Bernstein
Fast arithmetic
Integer multiplication benchmarks

GNU MP

gmp was written by Torbjorn Granlund, John Amanatides, Paul Zimmermann, Ken Weber, Bennet Yee, Andreas Schwab, Robert Harley, Linus Nordberg, Kent Boortz, Kevin Ryde, and Guillaume Hanrot. The gmp home page is www.swox.com/gmp/. Sample code using gmp:
     #include <stdio.h>
     #include "gmp.h"
     
     main()
     {
       mpz_t a;
       mpz_t b;
       mpz_t c;
     
       mpz_init(a);
       mpz_init(b);
       mpz_init(c);
     
       mpz_inp_str(a,stdin,10);
       mpz_inp_str(b,stdin,10);
       mpz_mul(c,a,b);
       mpz_out_str(stdout,10,c);
       printf("\n");
     }

I compiled gmp 4.0.1 on thoth on 2002.02.23:

     lynx -source ftp.gnu.org/gnu/gmp/gmp-4.0.1.tar.gz > gmp-4.0.1.tar.gz
     gunzip < gmp-4.0.1.tar.gz | tar -xf -
     cd gmp-4.0.1
     ./configure
     make
     # about 120 seconds
     lynx -source cr.yp.to/speed/mult/gmp-bench.c > bench.c
     gcc -O3 -o bench bench.c .libs/libgmp.a
     ./bench > bench.out
     # about 300 seconds
Results:
       1:        409         65         36         36         36         36 
       2:        218         72         72         54         72         54 
       3:       1056        110         86         70         70         70 
       4:        245         87         70         86        103         86 
       5:        252         71         70         70         70         70 
       6:        242         71         70         70         70         70 
       7:        241         71         70         70         70         70 
       8:        241         71         70         70         70         70 
      10:        251         71         70         70         70         70 
      12:        241         71         70         70         70         70 
      14:        241         71         70         70         70         70 
      16:        241         71         70         70         70         70 
      20:        256         85         84         84         84         69 
      24:        253         85         84         69         69         69 
      28:        239         70         69         69         69         69 
      32:        251         70         69         69         69         69 
      40:        929        195        130        112        130        112 
      48:        291        114        112        112        112        112 
      56:        291        113        111        111        111        111 
      64:        300        131        111        111        111        111 
      80:       1115        265        213        155        155        155 
      96:        358        204        190        154        154        154 
     112:        850        289        241        209        209        209 
     128:        389        290        263        208        208        208 
     160:       7999        313        293        271        253        253 
     192:       2673        372        335        318        318        318 
     224:       1666        458        397        375        375        375 
     256:       1485        502        445        445        445        445 
     320:       7199        653        621        621        621        621 
     384:       2619        845        825        825        825        825 
     448:       2084       1074       1054       1054       1054       1054 
     512:       2534       1372       1352       1352       1352       1352 
     640:       3311       1918       1898       1898       1899       1898 
     768:       4034       2614       2594       2594       2594       2594 
     896:       8310       3515       3425       3392       3375       3375 
    1024:       5389       4259       4239       4214       4214       4214 
    1280:       7106       6126       6055       6020       6020       6020 
    1536:       9293       8207       8178       8157       8157       8157 
    1792:      11919      10695      10629      10591      10591      10591 
    2048:      14555      13171      12953      12953      12953      12953 
    2560:      20046      18803      18685      18650      18650      18650 
    3072:      26731      25238      25132      25118      25118      25118 
    3584:      34410      32938      32641      32631      32631      32631 
    4096:      41195      39948      39755      39745      39745      39745 
    5120:      58729      57583      57379      57379      57379      57379 
    6144:      77994      76841      76721      76701      76701      76701 
    7168:     119590      97900      97331      97197      97124      97124 
    8192:     123733     449867     121077     120348     120348     120348 
   10240:     190548     174807     174363     174319     174319     174319 
   12288:     225653     217445     233693     217421     217204     217204 
   14336:     286032     281983     281906     281866     281866     281866 
   16384:     358395     351696     351498     351412     351412     351412 
   20480:     500194     492003     478679     493722     478555     478459 
   24576:     638624     635033     634872     634828     634828     634828 
   28672:     800680     812107     807504     796903     796767     796749 
   32768:    1021286     994477    1007581     991683     991561    1002631 
   40960:    1407380    1405663    1379885    1379143    1397011    1392602 
   49152:    1861210    1843982    1843875    1869816    1844000    1868980 
   57344:    2338472    2330703    2318738    2334723    2318643    2330264 
   65536:    2735392    2696064    2718991    2690693    2690806    2717286 
   81920:    3902635    3863741    3837834    3832706    3837748    3833647 
   98304:    5131960    5159196    5148739    5159949    5169913    5133489 
  114688:    6574690    6491749    6642745    6421342    6430112    6449433 
  131072:    7823067    7686903    8603228    7687760    7680718    7697073 
  163840:   11176813   11030140   11052773   11032785   11027024   11044433 
  196608:   13977323   13893568   13904165   13917971   13880103   13902046 
  229376:   18061112   17948828   18010022   17951446   17949072   17928645 
  262144:   22609683   22343138   22293835   22604276   22363139   23344774 
  327680:   30988494   31033903   31068430   31001506   31008153   30994068 
  393216:   40753845   40740530   40753208   40701451   41188099   41767844 
  458752:   48060025   48145912   48136648   48087364   48185149   48083692 
  524288:   56128855   57563683   56281180   56225205   56256896   56315455 
  655360:   74159037   74609891   75048532   73677724   73652580   73615933 
  786432:   91840845   93167688   91941727   91941189   91920023   92348984 
  917504:  110254367  109000249  108900361  109173015  109902110  108882665 
 1048576:  129543866  130551515  129119375  129316786  130394503  129132687 
 1310720:  170364339  171925184  170410128  171727359  170395567  170414038 
 1572864:  215696819  213849271  214814017  213742600  214873793  213834865 
 1835008:  257355495  256786683  255499297  257051961  255882997  256559503 
 2097152:  292859677  294208103  291503376  292961716  293298654  291792284 
 2621440:  387414791  386642662  386631935  395807260  386498782  386319186 
 3145728:  481586393  480493338  480793396  481198422  482017592  480945997 
 3670016:  572398472  572365809  573042519  572036511  573480048  571921625 
 4194304:  684467640  682016735  683331210  682060663  683054790  683338766 
 5242880:  896149597  894482565  894451422  894909622  894335448  894684466 
 6291456: 1138457247 1140488239 1139949340 1138535866 1140322940 1140182996 
 7340032: 1284157795 1290000214 1281512343 1282182746 1285565050 1282093012 
 8388608: 1478686251 1472550302 1474194763 1489697819 1476214627 1472154389 
10485760: 1888797952 1887806293 1888716312 1887484313 1889892652 1887978715 
12582912: 2347515191 2337633280 2337611078 2339210489 2340137720 2344777802 
14680064: 2806735374 2796764316 2804006809 2811230016 2823129514 2802601300 
16777216: 3212476318 3225237858 3214542155 3212180362 3218219697 3215202707 
20971520: 4097115552 4082810474 4082276019 4087166444 4083583141 4084015672 
25165824: 5053134619 5054862170 5035655629 5061597382 5049946849 5050672826 
29360128: 6043704636 6034322431 6027696953 6029099487 6050162453 6031823278 
33554432: 6965286947 6957508213 6960417338 6954937660 6955739040 6962154653 

Older timings for gmp 3.0.1 on a Pentium-II:

      1:        452         92         87         87         87         88 
      2:        108        107         89         89         89         89 
      4:        748        173        139        139        139        145 
      8:        159        165        156        139        139        145 
     16:        144        145        139        139        139        145 
     32:        156        142        137        137        137        141 
     64:        498        198        193        193        193        196 
    128:        726        367        340        316        316        321 
    256:       1381        816        775        775        775        775 
    512:       2705       2309       2304       2304       2304       2301 
   1024:      17391       7338       7342       7338       7330       7323 
   2048:      23602      22943      22892      22892      22892      22895 
   4096:      71027      70328      70198      70198      70198      70199 
   8192:     302476     223158     221127     221001     220924     220914 
  16384:     666556     645750     645136     650994     645568     644918 
  32768:    1876911    1863817    1846719    1879735    1846995    1852257 
  65536:    5259995    5178851    5182519    5172907    5201277    5175833 
 131072:   15003013   14881224   14870357   14884093   14877678   14870283 
 262144:   41677630   41506978   41483440   41491268   41492274   41488776 
 524288:  117103698  116699710  116704094  116758140  116799226  116706520 
1048576:  331023002  330425996  330989520  330615434  330563952  330685842 
2097152:  923039083  921529844  920962684  920591312  921254080  921400948 
4194304: 2519044744 2515178776 2517854251 2513331425 2515646324 2516371476 
8388608: 7036252102 7035058876 7034085532 7032122272 7036529124 7044188812