Performance Comparison

Benchmark project is here.

All tests were run on a machine with the following specifications:
3 GHz 6-Core Intel Core i5, 40GB 2667 MHz DDR4

All results are presented in seconds.

Solvers:

  • iOverlay(Rust) v1.9.0 (multithreading on/off)
  • iOverlay(Swift) v1.13.0
  • Clipper2(C++) v1.4.0
  • Boost(C++) v1.86.0

Checkerboard Test

Checkerboard Test

SquaresSwiftRust (mt off)Rust (mt on)Clipper2Boost
50.0000140.0000060.0000060.0000070.000045
250.0001000.0000360.0000360.0000380.000595
1130.0005890.0001970.0001960.0002080.004446
4810.0041050.0011170.0011170.0010170.060791
19850.0126430.0049140.0049350.0051821.103624
80650.0556640.0206740.0197850.02401321.080339
325130.2348400.0918710.0832850.154054412.630289
1305610.9939200.4246430.3729781.067439----
5232654.4103022.0435702.0083398.346041----
209510518.4516469.2913847.93681073.312335----
838451378.71930538.63966633.742216644.337867----

Not Overlap Test

Not Overlap Test

SquaresSwiftRust (mt off)Rust (mt on)Clipper2Boost
50.0000090.0000030.0000030.0000050.000003
250.0000410.0000120.0000110.0000210.000021
1130.0002040.0000610.0000620.0000970.000223
4810.0010520.0003460.0003440.0004570.002621
19850.0049780.0016790.0016680.0021140.036257
80650.0213360.0059120.0054250.0107830.558494
325130.0895230.0284540.0247180.0562818.852867
1305610.3755940.1274480.1074850.369146146.041905
5232651.6630870.6358980.5380602.695334----
20951056.9479322.7085492.47021020.665812----
838451328.77756913.5148469.601191167.966801----

Lines Net Test

Lines Net Test

SquaresSwiftRust (mt off)Rust (mt on)Clipper2Boost
40.0000140.0000040.0000040.0000040.000014
80.0000490.0000140.0000140.0000120.000054
160.0001950.0000490.0000500.0000430.000370
320.0012950.0001950.0001960.0001760.003175
640.0049940.0010130.0010160.0007490.055749
1280.0212390.0040460.0039700.00344123.531991
2560.0914270.0188150.0208700.018417412.528984
5120.2559890.0886010.0967450.115229----
10241.1468420.4171280.3974700.759640----
20484.8085481.8447541.5373855.595165----
409620.1901017.5145487.69692045.934461----

Spiral Test

Spiral Test * There is now boost results for this test

SquaresSwiftRust (mt off)Rust (mt on)Clipper2
20.0000060.0000020.0000020.000002
40.0000100.0000050.0000050.000004
80.0000190.0000090.0000090.000007
160.0000400.0000200.0000200.000014
320.0000950.0000480.0000480.000031
640.0002180.0001290.0001270.000083
1280.0004900.0003040.0003050.000202
2560.0011050.0006680.0006690.000476
5120.0033850.0015990.0016060.001195
10240.0061740.0035720.0035600.002941
20480.0132000.0050000.0049300.007578
40960.0260650.0095760.0095280.020287
81920.0559440.0175830.0187790.054647
163840.1123750.0401450.0402630.181050
327680.2374120.0766420.0766090.606854
655360.4738470.1819120.1813872.013809
1310720.9817290.3439170.3310466.547658
2621441.9795410.7817700.83381621.171540
5242884.1019121.4171441.47262472.147615
10485768.2541083.1885093.232834259.866180

Windows Test

Windows Test

SquaresSwiftRust (mt off)Rust (mt on)Clipper2Boost
80.0000160.0000060.0000060.0000080.000006
320.0000620.0000210.0000210.0000280.000037
1280.0002760.0000960.0000970.0001120.000266
5120.0013060.0005190.0005160.0005070.002482
20480.0055430.0016750.0015480.0024540.030949
81920.0238050.0075190.0067800.0123640.448009
327680.1048220.0388320.0341490.0768507.013886
1310720.4457120.1923380.1596850.568316109.745463
5242881.8623710.8350500.7031474.142673----
20971527.6578153.7618083.18236233.165570----
838860830.83397315.47674412.058687265.387333----

Nested Squares Test

Nested_Squares Test

SquaresSwiftRust (mt off)Rust (mt on)Clipper2Boost
40.0000220.0000090.0000090.0000120.000153
80.0000450.0000170.0000170.0000230.000387
160.0000980.0000350.0000340.0000500.000792
320.0002380.0000810.0000810.0001180.001757
640.0006240.0002100.0002170.0002910.004145
1280.0018530.0005940.0006080.0008060.010646
2560.0023980.0019920.0020160.0034150.036101
5120.0050130.0025550.0026410.0159890.141906
10240.0160670.0078510.0059250.0812670.560183
20480.0331940.0245230.0187770.4618832.425802
40960.1506010.0605160.0447562.34720911.419096
81920.3116910.2451600.16553910.61242449.299261
163840.7523570.4856050.33165546.205474206.646450
327682.5819911.8149931.148905251.260857----
6553610.3687944.0316312.1974933502.233611----
13107223.25074615.7317058.194153--------
26214448.52955530.80976015.285741--------