# Acorn Archimedes A4000, 4MB RAM (2MB soldered, 2MB in expansion slots)
# using ARM 250 CPU @ 12 MHz running in wimpmode 27 (640*480, 16 colors, 60 Hz = 9 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 492.7408711 351.9577651 194
33 544.1243713 384.0877914 214
36 591.6030536 419.8473283 236
39 678.5714285 479.5918368 272
42 727.1762207 520.1698513 293
46 834.7627215 606.060606 341
50 907.9975946 655.4419723 372
55 996.1928933 723.3502538 408
60 1083.61204 789.2976587 447
66 1191.155492 848.7874465 493
72 1349.883631 961.9860356 564
79 1481.788079 1067.880795 620
86 1614.035088 1157.894737 675
94 1761.94939 1265.229616 739
103 1926.147704 1367.265469 810
113 2186.813187 1560.43956 922
124 2451.690822 1763.285024 1043
136 2691.807542 1911.573472 1144
149 2945.301543 2103.786816 1256
163 3233.082706 2300.75188 1374
179 3615.257049 2570.480929 1550
196 3960.573477 2813.620071 1697
215 4426.87747 3142.29249 1903
236 3986.928104 2854.030501 2135
259 4383.301708 3111.954459 2343
284 4874.476988 3472.803347 2618
312 5342.465754 3835.616439 2878
343 5895.522388 4179.104479 3166
377 6565.934065 4697.802198 3538
414 7207.207207 5135.135136 3887
455 8013.245033 5728.47682 4333
500 8901.0989 6373.626373 4830
550 9799.196789 7028.11245 5314
605 10888.88889 7777.777777 5920
665 12118.2266 8620.689655 6582
731 13423.91304 9619.565216 7318
804 14910.17964 10658.68264 8130
884 16533.33334 11866.66666 9027
972 18175.18248 12992.70073 9930
1069 25000 17903.22581 11019
1175 27472.52747 19670.32967 12115
1292 30731.70732 21829.26829 13532
1421 33918.91891 24324.32433 14993
1563 37761.19403 27014.92538 16722
1719 41803.27869 30000 18518
1890 46000 32909.09091 20362
2079 51000 36400 22533
2286 56222.22223 40222.22223 24920
2514 62439.0244 44634.14633 27700
2765 68648.64865 49189.18919 30470
3041 76176.47058 54411.76471 33841
3345 84666.66666 60333.33333 37557
3679 93214.28571 66785.71429 41489
4046 103200 74000 45997
4450 113913.0435 81739.13043 50791
4895 126666.6667 90952.38098 56479
5384 113157.8947 80526.3158 62347
5922 124761.9048 88571.42859 68800
6514 137894.7368 97368.42108 76148
7165 152941.1765 107647.0588 84501
7881 168750 118750 93460
8669 186428.5714 132142.8571 103345
9535 206153.8461 145384.6154 114238
10488 228333.3334 160833.3334 126557
11536 251818.1818 177272.7273 139526
12689 279000 197000 154777
13957 307777.7777 216666.6666 170593
15352 340000 240000 188718
16887 375714.2856 265714.2858 208714
18575 415714.2856 292857.1428 230764
20432 458333.3333 325000 255084
22475 506666.6667 358333.3333 281895
24722 560000 398000 311885
27194 620000 440000 344990
29913 685000 482500 380992
32904 920000 662500 421202
36194 1036666.667 730000 464439
39813 1143333.333 806666.6665 513191
43794 1263333.333 893333.3335 566950
48173 1395000 990000 628090
52990 1545000 1090000 693554
58289 1710000 1205000 766432
64117 1880000 1335000 846017
70528 2080000 1475000 935231
77580 2300000 1625000 1032788
85338 2540000 1795000 1140281
93871 2800000 1990000 1260527
103258 2490000 1765000 1391242
113583 2750000 1950000 1537183
124941 3040000 2150000 1697028
137435 3360000 2380000 1874266
151178 3710000 2620000 2071840
166295 4100000 2890000 2287296
182924 4510000 3200000 2523467
201216 4990000 3520000 2786273
221337 5510000 3900000 3081256
243470 6070000 4300000 3395084
267817 6710000 4750000 3751057
294598 7410000 5230000 4141925
324057 8180000 5780000 4575862
356462 9030000 6390000 5049102
392108 9960000 7050000 5574029
431318 10990000 7780000 6148655
474449 15050000 10650000 6787609
521893 16630000 11770000 7495668
