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

Checkerboard Test

Checkerboard Test

SquaresSwiftRust (mt off)Rust (mt on)Clipper2
50.0000140.0000060.0000060.000007
250.0001000.0000360.0000360.000038
1130.0005890.0001970.0001960.000208
4810.0041050.0011170.0011170.001017
19850.0126430.0049140.0049350.005182
80650.0556640.0206740.0197850.024013
325130.2348400.0918710.0832850.154054
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)Clipper2
50.0000090.0000030.0000030.000005
250.0000410.0000120.0000110.000021
1130.0002040.0000610.0000620.000097
4810.0010520.0003460.0003440.000457
19850.0049780.0016790.0016680.002114
80650.0213360.0059120.0054250.010783
325130.0895230.0284540.0247180.056281
1305610.3755940.1274480.1074850.369146
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)Clipper2
40.0000140.0000040.0000040.000004
80.0000490.0000140.0000140.000012
160.0001950.0000490.0000500.000043
320.0012950.0001950.0001960.000176
640.0049940.0010130.0010160.000749
1280.0212390.0040460.0039700.003441
2560.0914270.0188150.0208700.018417
5120.2559890.0886010.0967450.115229
10241.1468420.4171280.3974700.759640
20484.8085481.8447541.5373855.595165
409620.1901017.5145487.69692045.934461

Spiral Test

Spiral 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)Clipper2
80.0000160.0000060.0000060.000008
320.0000620.0000210.0000210.000028
1280.0002760.0000960.0000970.000112
5120.0013060.0005190.0005160.000507
20480.0055430.0016750.0015480.002454
81920.0238050.0075190.0067800.012364
327680.1048220.0388320.0341490.076850
1310720.4457120.1923380.1596850.568316
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)Clipper2
40.0000220.0000090.0000090.000012
80.0000450.0000170.0000170.000023
160.0000980.0000350.0000340.000050
320.0002380.0000810.0000810.000118
640.0006240.0002100.0002170.000291
1280.0018530.0005940.0006080.000806
2560.0023980.0019920.0020160.003415
5120.0050130.0025550.0026410.015989
10240.0160670.0078510.0059250.081267
20480.0331940.0245230.0187770.461883
40960.1506010.0605160.0447562.347209
81920.3116910.2451600.16553910.612424
163840.7523570.4856050.33165546.205474
327682.5819911.8149931.148905251.260857
6553610.3687944.0316312.1974933502.233611
13107223.25074615.7317058.194153----
26214448.52955530.80976015.285741----