# Acorn Archimedes A4000, 4MB RAM (2MB soldered, 2MB in expansion slots)
# using ARM 250 CPU @ 12 MHz running in wimpmode 28 (640*480, 256 colors, 60 Hz = 18 MB/s)
# screen blank time set to 300 seconds, the steps on the curve were caused
# by me, touching the keyboard (thereby activating the video DMA) to see the
# progress from time to time.
# Ran from a 200 KB ramdisc, results being written there too
#
# 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 512 KB block with timer resolution of 10000 us
#    size  slow_version [us] fast_version [us]  # of inner iterations
30 724.6376812 522.9993699 194
33 802.1038792 571.9921105 214
36 873.4525447 625.8596976 236
39 992.6470587 720.5882354 272
42 1070.336391 772.1712539 293
46 1235.489221 895.5223882 341
50 1345.486111 972.2222221 372
55 1471.941123 1067.157314 408
60 1598.837209 1172.48062 447
66 1756.198347 1260.330579 493
72 1997.742663 1433.408578 564
79 2192.771085 1578.313253 620
86 2381.562099 1715.74904 675
94 2602.179836 1893.73297 739
103 2850.877193 2032.163743 810
113 3242.375602 2295.345104 922
124 3633.156966 2592.592592 1043
136 3973.38403 2832.699619 1144
149 4355.82822 3108.384458 1256
163 4757.709251 3414.096916 1374
179 5365.853659 3804.878049 1550
196 5868.421053 4184.210526 1697
215 6521.73913 4637.68116 1903
236 4003.496503 2849.65035 2135
259 4372.623575 3117.870722 2343
284 4884.696016 3480.083858 2618
312 5365.296804 3835.616439 2878
343 5870.646767 4203.980099 3166
377 6565.934065 4670.32967 3538
414 7207.207207 5135.135136 3887
455 8013.245033 5728.47682 4333
500 8937.728939 6373.626373 4830
550 9798.387096 7016.129032 5314
605 10937.5 7767.857143 5920
665 12156.86275 8627.450981 6582
731 13423.91304 9619.565216 7318
804 27409.63856 19518.07229 8130
884 30365.85365 21585.36585 9027
972 33466.66667 23733.33333 9930
1069 37058.82353 26470.58823 11019
1175 40645.16129 29032.25806 12115
1292 45357.14285 32321.42857 13532
1421 50200 36000 14993
1563 56000 40000 16722
1719 61951.21951 44146.34146 18518
1890 68157.89474 48421.05264 20362
2079 75294.11765 53823.5294 22533
2286 82903.2258 59677.41934 24920
2514 92500 66071.42856 27700
2765 101600 72400 30470
3041 112608.6957 80434.78262 33841
3345 125238.0952 89047.61902 37557
3679 137894.7368 98421.05261 41489
4046 83333.33331 59583.33334 45997
4450 91785.71429 66071.42856 50791
4895 102000 73200 56479
5384 113043.4782 80434.78262 62347
5922 124285.7143 88571.42859 68800
6514 137894.7368 97368.42108 76148
7165 152352.9412 107647.0588 84501
7881 168750 119375 93460
8669 186428.5714 132142.8571 103345
9535 206153.8461 146153.8461 114238
10488 228333.3334 161666.6666 126557
11536 251818.1818 178181.8182 139526
12689 279000 197000 154777
13957 306666.6666 217777.7778 170593
15352 340000 240000 188718
16887 377142.8572 265714.2858 208714
18575 415714.2856 292857.1428 230764
20432 458333.3333 325000 255084
22475 508333.3333 358333.3333 281895
24722 560000 398000 311885
27194 622000 438000 344990
29913 685000 485000 380992
32904 755000 535000 421202
36194 835000 590000 464439
39813 923333.3335 650000 513191
43794 1016666.667 720000 566950
48173 1126666.667 796666.6665 628090
52990 1243333.333 883333.3335 693554
58289 1375000 975000 766432
64117 1515000 1075000 846017
70528 1680000 1185000 935231
77580 1855000 1310000 1032788
85338 2045000 1445000 1140281
93871 2260000 1600000 1260527
103258 2495000 1765000 1391242
113583 2750000 1960000 1537183
124941 3040000 2160000 1697028
137435 3360000 2380000 1874266
151178 3720000 2620000 2071840
166295 4100000 2900000 2287296
182924 8280000 5860000 2523467
201216 9150000 6470000 2786273
221337 10110000 7150000 3081256
243470 11140000 7880000 3395084
267817 6710000 4750000 3751057
294598 7410000 5240000 4141925
324057 8180000 5790000 4575862
356462 9030000 6390000 5049102
392108 9970000 7050000 5574029
431318 11000000 7780000 6148655
474449 12140000 8590000 6787609
521893 24560000 17390000 7495668
