#include "cln/cln.h" using namespace cln; main() { cl_I a; cl_I b; cl_I c; cin >> a; cin >> b; c = a * b; cout << c << "\n"; }
I compiled CLN 1.1.4 on thoth on 2002.02.23:
lynx -source ftp.santafe.edu/pub/gnu/cln-1.1.4.tar.gz > cln-1.1.4.tar.gz gunzip < cln-1.1.4.tar.gz | tar -xf - cd cln-1.1.4 env CXXFLAGS='-O2 -fno-exceptions' ./configure gmake # about 1000 seconds lynx -source cr.yp.to/speed/mult/cln-bench.c > bench.c g++ -O3 -fno-exceptions -o bench bench.c -I include src/.libs/libcln.a ./bench > bench.out # about 90 secondsResults:
1: 1037 372 72 72 72 72 2: 79 72 72 72 72 72 3: 78 85 72 72 85 72 4: 78 85 72 85 72 72 5: 78 85 72 85 72 72 6: 78 72 72 72 72 72 7: 273 72 72 72 72 72 8: 241 72 72 72 72 72 10: 78 72 72 72 72 72 12: 79 72 72 72 72 72 14: 244 72 72 72 72 72 16: 528 5968 617 587 569 545 20: 603 545 543 545 543 545 24: 572 545 543 545 543 545 28: 572 545 543 545 543 545 32: 2900 716 670 662 660 662 40: 1036 768 743 745 701 703 48: 777 717 715 704 702 704 56: 967 713 712 700 698 700 64: 829 770 757 712 710 712 80: 1101 984 781 732 699 700 96: 847 804 746 707 706 707 112: 941 898 826 798 797 798 128: 1015 887 843 805 804 805 160: 1139 951 910 888 887 888 192: 1317 1022 1003 981 980 987 224: 1763 1408 1119 1086 1080 1077 256: 1435 1213 1193 1190 1193 1190 320: 1631 1568 1557 1557 1557 1557 384: 2114 1900 1898 1900 1898 1900 448: 2312 2277 2280 2277 2280 2277 512: 23166 4272 3141 3075 2999 3006 640: 3945 3658 3673 3643 3657 3643 768: 5197 4824 4588 4576 4588 4576 896: 5643 5472 5471 5459 5471 5459 1024: 18781 9815 8572 8575 8541 8529 1280: 11194 10873 10693 10681 10693 10681 1536: 13910 13707 13489 13477 13489 13477 1792: 17881 17172 16954 16942 16954 16942 2048: 26717 27006 25714 25647 25681 25626 2560: 32600 32589 32329 32315 32327 32315 3072: 41944 41142 40857 40845 40857 40845 3584: 53599 52497 52190 52178 52190 52178 4096: 79342 80295 78058 78028 78035 77987 5120: 99275 98978 98451 122056 99028 98467 6144: 125106 124856 124348 124334 124348 124334 7168: 162509 161172 160657 160643 160657 160643 8192: 240211 239033 238488 238467 238433 255828 10240: 304466 300882 300835 300834 300834 300834 12288: 375694 374951 374950 374925 374924 374925 14336: 489134 488119 488119 500630 488177 504358 16384: 745766 722727 721077 721007 721053 720983 20480: 915826 910291 926805 923026 910405 910126 24576: 1156409 1134677 1134661 1151468 1134952 1326149 28672: 1494185 1478853 1495181 1478188 1478136 1510773 32768: 2201351 2210386 2176673 2215472 2191688 2173799 40960: 3849813 3731559 3727230 3730833 3726742 3727475 49152: 3801968 3728383 3765793 3730033 3760663 3729969 57344: 3088885 3046755 3051267 3017967 3064144 3018332 65536: 8360122 8383318 8428481 8405044 8477941 8430117 81920: 8483706 8478002 8461403 8460543 8477644 8475428 98304: 8538136 8531611 8539755 8525827 8542772 8518405 114688: 7100804 6886580 7055857 7081696 7104974 7080017 131072: 18037276 18040922 18011725 18034694 18036598 18013783 163840: 18234218 18179210 18269249 18233186 18254831 18174529 196608: 18203688 18293060 18244302 18233764 18211410 18204966 229376: 18412297 18491328 18403688 18445881 18362379 18346317 262144: 39137119 38639853 38691738 39528678 38678339 38553343 327680: 39154583 39024349 39172592 38953341 38970439 39774388 393216: 39386922 38624592 39125172 39438778 39347024 39130107 458752: 39783449 39578004 40181674 39413765 39785302 39940911 524288: 101774795 102094687 103143978 99659409 100590686 99230860 655360: 99688160 98091904 97421843 97355053 100508111 98947541 786432: 102719546 102054616 100399638 99652074 103370046 100589446 917504: 102577816 102591074 101649045 101423297 100133829 102043444 1048576: 248182012 248174885 248737463 248486231 250034686 247715988 1310720: 251986643 250704928 249863628 249701676 250666410 258164840 1572864: 252894029 252101245 252847959 250749453 251714306 250518256 1835008: 253003093 252900912 250675594 251830395 253112373 251050119 2097152: 609590643 608678074 609156983 609668133 610193869 611691401 2621440: 617586321 617248648 615914827 615425253 616969652 615396414 3145728: 621776037 619598305 621087482 620958795 621579590 621813090 3670016: 626271465 625240081 624839921 625850028 625119453 624682324 4194304: 1287121401 1286162752 1284509578 1286527604 1285398559 1286768879 5242880: 1300994838 1298327458 1296421786 1308626593 1295890900 1295535965 6291456: 1296212227 1299266002 1299891407 1306174314 1297499105 1301017273 7340032: 1307968594 1306900275 1307246338 1305626207 1306274124 1306775219 8388608: 3195873156 3190984245 3192192780 3192839075 3191828531 3191578447
Older timings for CLN 1.0.1 on a Pentium-II:
1: 831 331 341 328 319 321 2: 319 322 319 321 319 328 4: 319 322 319 321 319 328 8: 319 322 319 321 319 328 16: 687 4987 694 709 619 692 32: 3542 1241 1360 950 1025 933 64: 1367 1312 1203 1001 979 1000 128: 1330 1414 1290 1257 1264 1238 256: 2348 2443 2321 2262 2212 2189 512: 8257 5253 5133 4973 5031 4949 1024: 14831 14493 14253 14332 14187 14251 2048: 43512 42819 42537 42633 42482 42585 4096: 135308 140146 129362 128651 128499 128606 8192: 388769 395970 388580 388597 388449 388573 16384: 1188515 1191876 1175705 1174036 1173845 1198244 32768: 3593322 3592413 3544073 3551542 3550712 3550029 65536: 11637798 11588166 11612424 11583725 11595229 11585579 131072: 24883440 24524641 24453301 24455546 24443368 24437821 262144: 54023019 53377550 52332133 53004840 53760162 54155994 524288: 135591667 135624127 136454425 136772105 136088081 136608819 1048576: 300566815 302479346 301059817 302665437 301872232 302118563 2097152: 767414270 778539505 768655239 778896004 781456233 779075896 4194304: 1589483330 1591872914 1605255997 1611909420 1619504900 1586406046 8388608: 4180732728 4188183047 4183977855 4191484545 4189871315 4185781379