Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Rust iOverlay Solver Benchmarks

All results were measured on Apple M4, 24 GB. Values are seconds per operation. The benchmark project is in performance/rust_app in the iOverlay repository.

  • i16/i32/64 math solvers
  • on/off multithreading feature

Average Comparison

Average relative time

Checkerboard Test

Checkerboard Test

Ni16 offi32 offi64 offi16 oni32 oni64 on
20.0000020.0000020.0000030.0000030.0000020.000003
40.0000150.0000150.0000170.0000150.0000150.000017
80.0000820.0000820.0000990.0000830.0000810.000099
160.0004260.0004120.0004980.0004370.0004090.000501
320.0022360.0023180.0027330.0023050.0022990.002752
640.0080700.0086590.0103880.0071400.0072430.008616
1280.0375590.0405120.0500850.0278570.0289860.035981
2560.1673750.1784250.2196220.1206060.1257110.158665
5120.7767310.8272641.0117030.5689570.5927680.724087
10243.3858743.6111254.3938802.4136212.6104313.127404

Not Overlap Test

Not Overlap Test

Ni16 offi32 offi64 offi16 oni32 oni64 on
50.0000010.0000010.0000010.0000010.0000010.000001
250.0000050.0000050.0000060.0000050.0000050.000006
1130.0000240.0000240.0000270.0000240.0000240.000028
4810.0001360.0001330.0001520.0001380.0001320.000151
19850.0009010.0009120.0010460.0009080.0009080.001053
80650.0024610.0027250.0031780.0021760.0023220.002579
325130.0112720.0123190.0147190.0083770.0089560.010409
1305610.0482140.0534200.0651000.0344380.0369010.044266
5232650.2203640.2406640.3015770.1580550.1771180.217189
20951050.9271911.0375211.3002600.6877770.7451870.920391
83845134.5806725.6672043.2824163.948376

Lines Net Test

Lines Net Test

Ni16 offi32 offi64 offi16 oni32 oni64 on
40.0000020.0000020.0000020.0000020.0000020.000002
80.0000060.0000060.0000070.0000060.0000060.000007
160.0000200.0000200.0000250.0000210.0000200.000025
320.0000910.0000870.0001130.0000920.0000870.000114
640.0003920.0004250.0004860.0004030.0004230.000497
1280.0017170.0017910.0021610.0017160.0018290.002118
2560.0082800.0087330.0103050.0070470.0075100.008971
5120.0376330.0399410.0485150.0305160.0322080.041422
10240.1684660.1814880.2198350.1300990.1451590.181670
20480.7512820.8061230.9912090.5690640.6222110.780686
40963.5577614.4202092.6877783.220613

Spiral Test

Spiral Test

Ni16 offi32 offi64 offi16 oni32 oni64 on
20.0000010.0000010.0000010.0000010.0000010.000001
40.0000020.0000020.0000030.0000020.0000020.000003
80.0000050.0000050.0000070.0000050.0000050.000008
160.0000070.0000100.0000160.0000070.0000100.000016
320.0000150.0000210.0000340.0000150.0000200.000033
640.0000310.0000430.0000710.0000310.0000420.000069
1280.0000860.0000920.0001590.0000760.0001040.000154
2560.0002510.0002980.0003760.0002790.0002450.000380
5120.0006980.0007900.0010180.0007640.0007480.001008
10240.0018180.0020410.0026580.0019620.0019840.002594
20480.0041240.0042070.0057360.0039500.0044830.005705
40960.0052860.0079740.0096870.0043740.0062700.005941
81920.0105660.0127960.0177130.0084460.0094340.010722
163840.0220610.0280010.0379010.0173470.0195260.023228
327680.0455130.0509970.0750600.0331830.0343970.042546
655360.0949610.1133480.1656860.0651670.0742290.091817
1310720.2014150.2236530.3363380.1317890.1460950.192015
2621440.4315970.5415260.7807710.3017770.3509410.449105
5242880.6666601.0341781.5366260.4563910.7445200.922172

Windows Test

Windows Test

Ni16 offi32 offi64 offi16 oni32 oni64 on
80.0000030.0000030.0000030.0000030.0000020.000003
320.0000090.0000080.0000100.0000090.0000090.000010
1280.0000380.0000380.0000430.0000380.0000380.000043
5120.0002050.0001950.0002250.0002040.0001940.000224
20480.0011270.0011330.0013380.0011290.0011380.001340
81920.0031880.0034210.0040130.0026330.0028090.003138
327680.0139170.0155840.0186260.0101630.0108920.012617
1310720.0630980.0699250.0889670.0457370.0498750.061721
5242880.2773220.3122580.3844340.1990350.2248170.267889
20971521.2115611.3824591.7093740.9091311.0079651.175990

Nested Squares Test

Nested Squares Test

Ni16 offi32 offi64 offi16 oni32 oni64 on
40.0000040.0000040.0000050.0000040.0000040.000004
80.0000070.0000070.0000080.0000070.0000080.000009
160.0000150.0000150.0000180.0000150.0000150.000018
320.0000340.0000330.0000400.0000340.0000330.000040
640.0000820.0000790.0000960.0000830.0000800.000097
1280.0002240.0002130.0002500.0002280.0002140.000253
2560.0006510.0006590.0007600.0006980.0006720.000756
5120.0020650.0020600.0028370.0020150.0021090.002833
10240.0053560.0052230.0076130.0052710.0054260.007585
20480.0092380.0116090.0155530.0070700.0077570.009880
40960.0573000.0233090.0312920.0585290.0146830.018457
81920.0818560.1131960.0460140.059750
163840.1814160.2453530.0876460.122264
327680.6673940.9610190.3227070.431346
655361.4010062.0594380.6537410.933473
1310725.4450658.1380392.4109103.822923