# Acorn Archimedes A4000, 4MB RAM (2MB soldered, 2MB in expansion slots)
# using ARM 250 CPU @ 12 MHz running in wimpmode 31 (800*600, 16 colors, 56 Hz = 13.2 MB/s)
# The source was read from a floppy disc which remained spinning during the execution
# of the program, which considerably slowed the CPU (compare with ARM250-mode31-12MHz)
# The video was on all the time.
# Ran from a diskette, results being written to ramdisc
#
# Assembly implementation assembled by BBC BASIC V
# slow_version is fast_sieve() C function as compiled by gcc-2.95.3, while
# fast_version is hand tuned assembly
# Benchmarking on a 3 KB block with timer resolution of 10000 us
#    size  slow_version [us] fast_version [us]  # of inner iterations
30 691.3280776 491.2067921 194
33 757.5757575 542.9292929 214
36 831.1345646 587.0712402 236
39 950.0351865 675.5805769 272
42 1010.248902 732.0644217 293
46 1174.603175 849.2063491 341
50 1266.666667 925 372
55 1388.400703 1019.332162 408
60 1516.27907 1116.27907 447
66 1673.267326 1188.118812 493
72 1896.551724 1346.982759 564
79 2078.071182 1492.537313 620
86 2265.529841 1619.97564 675
94 2460.9375 1783.854167 739
103 2698.191933 1919.332406 810
113 3058.103976 2171.253822 922
124 3434.343434 2474.747475 1043
136 3761.30199 2694.394214 1144
149 4140.625 2929.6875 1256
163 4516.806723 3235.294118 1374
179 5081.206497 3596.287703 1550
196 5538.847118 3984.962406 1697
215 6225.895315 4407.713499 1903
236 6951.219511 4969.512196 2135
259 7590.759075 5412.541252 2343
284 8472.727272 6036.363636 2618
312 9282.868526 6693.227091 2878
343 10216.45021 7316.017317 3166
377 11394.23077 8173.076923 3538
414 12513.089 8952.879581 3887
455 13930.63584 9942.196529 4333
500 15541.40127 11019.10828 4830
550 17062.93707 12167.83217 5314
605 19000 13461.53846 5920
665 21025.64103 15042.73505 6582
731 23396.22642 16698.11321 7318
804 25937.5 18437.5 8130
884 28735.63218 20574.71264 9027
972 31645.56963 22531.64557 9930
1069 35138.88889 25000 11019
1175 38461.53847 27538.46153 12115
1292 43050.84746 30677.9661 13532
1421 47547.16982 33962.26416 14993
1563 52916.66666 37916.66667 16722
1719 58604.65117 41860.4651 18518
1890 64500 46000 20362
2079 71388.88889 50833.33334 22533
2286 78787.87878 56363.63637 24920
2514 87586.20691 62758.6207 27700
2765 96296.2963 68888.88889 30470
3041 106666.6667 76250 33841
