Skip to content

Significant performance regression in benchmarks using intersection #1147

@jdegenstein

Description

@jdegenstein

I don't know the cause of this yet. Sometime between fa8e936 and 5f67a19 the benchmark times became significantly slower for certain benchmarks (ppp-0101 and ppp-0106). Performance is ~33x worse for the former and a whopping 153x for the latter. Also, ttt_24_SPO_06 is about 2x worse after regression.

I took a quick look and all three of these with performance regressions contain an extrude with Mode.INTERSECT

recent result before regression:

------------------------------------------------------------------------------------------ benchmark: 17 tests ------------------------------------------------------------------------------------------
Name (time in ms)                      Min                 Max                Mean             StdDev              Median                 IQR            Outliers       OPS            Rounds  Iterations
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test_mesher_benchmark[100]          1.6003 (1.0)      185.4864 (1.50)       4.3370 (1.0)      20.0762 (57.65)      2.1848 (1.0)        0.6022 (2.32)          3;3  230.5727 (1.0)         225           1
test_mesher_benchmark[1000]         4.2935 (2.68)     197.4644 (1.60)       9.5580 (2.20)     29.1100 (83.59)      4.5587 (2.09)       0.4576 (1.77)          6;8  104.6249 (0.45)        213           1
test_mesher_benchmark[10000]       30.9104 (19.32)    193.0915 (1.57)      65.1643 (15.03)    64.4008 (184.93)    31.7215 (14.52)      1.6126 (6.22)          7;7   15.3458 (0.07)         32           1
test_ppp_0103                     118.6098 (74.12)    123.3574 (1.0)      120.5924 (27.81)     1.6811 (4.83)     120.1975 (55.01)      2.6855 (10.36)         3;0    8.2924 (0.04)          9           1
test_ppp_0108                     152.9653 (95.58)    155.5350 (1.26)     154.2379 (35.56)     0.8398 (2.41)     154.2055 (70.58)      1.0387 (4.01)          2;0    6.4835 (0.03)          7           1
test_ppp_0106                     176.1107 (110.05)   177.1536 (1.44)     176.7203 (40.75)     0.3482 (1.0)      176.7943 (80.92)      0.2592 (1.0)           2;1    5.6587 (0.02)          6           1
test_ppp_0109                     202.8154 (126.73)   205.6677 (1.67)     204.2451 (47.09)     1.2581 (3.61)     203.7177 (93.24)      2.1526 (8.31)          2;0    4.8961 (0.02)          5           1
test_ppp_0104                     229.2504 (143.25)   231.4830 (1.88)     230.5468 (53.16)     1.0323 (2.96)     230.9739 (105.72)     1.8661 (7.20)          1;0    4.3375 (0.02)          5           1
test_ttt_23_T_24                  276.3915 (172.71)   284.0388 (2.30)     281.7751 (64.97)     3.0860 (8.86)     282.7697 (129.42)     2.8237 (10.90)         1;1    3.5489 (0.02)          5           1
test_ppp_0101                     284.7568 (177.94)   292.5526 (2.37)     289.7015 (66.80)     3.3513 (9.62)     291.2990 (133.33)     5.2475 (20.25)         1;0    3.4518 (0.01)          5           1
test_ttt_24_SPO_06                295.2961 (184.52)   303.0642 (2.46)     298.5478 (68.84)     2.9233 (8.39)     298.7130 (136.72)     3.5012 (13.51)         2;0    3.3495 (0.01)          5           1
test_ppp_0105                     312.5772 (195.32)   314.2039 (2.55)     313.2393 (72.22)     0.6025 (1.73)     313.0754 (143.29)     0.6356 (2.45)          2;0    3.1924 (0.01)          5           1
test_ppp_0102                     451.9085 (282.39)   455.4244 (3.69)     453.9657 (104.67)    1.5761 (4.53)     454.3524 (207.96)     2.8361 (10.94)         1;0    2.2028 (0.01)          5           1
test_mesher_benchmark[100000]     506.5504 (316.53)   688.3405 (5.58)     608.0842 (140.21)   90.6006 (260.16)   662.3386 (303.15)   164.4895 (634.70)        2;0    1.6445 (0.01)          5           1
test_ppp_0110                     514.4487 (321.47)   519.8342 (4.21)     515.9034 (118.95)    2.2237 (6.39)     515.2394 (235.82)     1.7298 (6.67)          1;1    1.9383 (0.01)          5           1
test_ppp_0107                     843.2626 (526.93)   869.7897 (7.05)     849.9931 (195.99)   11.2543 (32.32)    844.3479 (386.46)     9.9900 (38.55)         1;1    1.1765 (0.01)          5           1
test_ttt_23_02_02                 941.3420 (588.22)   967.4651 (7.84)     949.9689 (219.04)   10.0885 (28.97)    947.1579 (433.51)     7.1253 (27.49)         1;1    1.0527 (0.00)          5           1
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

recent result AFTER regression:

------------------------------------------------------------------------------------------------ benchmark: 17 tests -------------------------------------------------------------------------------------------------
Name (time in ms)                         Min                    Max                   Mean              StdDev                 Median                 IQR            Outliers       OPS            Rounds  Iterations
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test_mesher_benchmark[100]             1.5913 (1.0)         168.6671 (1.40)          4.5529 (1.0)       19.7783 (31.10)         2.1787 (1.0)        0.5866 (7.03)          4;4  219.6422 (1.0)         244           1
test_mesher_benchmark[1000]            4.7512 (2.99)        145.7524 (1.21)          7.0493 (1.55)      16.9462 (26.65)         4.9318 (2.26)       0.0835 (1.0)          3;11  141.8578 (0.65)        194           1
test_mesher_benchmark[10000]          30.9946 (19.48)       179.4609 (1.49)         56.0021 (12.30)     60.4828 (95.12)        31.2669 (14.35)      0.5618 (6.73)          1;1   17.8565 (0.08)          6           1
test_ppp_0103                        118.0134 (74.16)       120.0508 (1.0)         119.0509 (26.15)      0.6359 (1.0)         119.2245 (54.72)      0.8893 (10.65)         2;0    8.3998 (0.04)          9           1
test_ppp_0109                        203.8139 (128.08)      207.0749 (1.72)        205.3113 (45.10)      1.4715 (2.31)        204.7312 (93.97)      2.6287 (31.49)         2;0    4.8707 (0.02)          5           1
test_ppp_0104                        230.5988 (144.92)      233.9408 (1.95)        231.5489 (50.86)      1.3570 (2.13)        231.0394 (106.04)     1.0678 (12.79)         1;1    4.3187 (0.02)          5           1
test_ppp_0108                        261.6871 (164.45)      277.0477 (2.31)        268.1586 (58.90)      6.3048 (9.92)        267.1158 (122.60)    10.2105 (122.32)        2;0    3.7291 (0.02)          5           1
test_ttt_23_T_24                     275.4691 (173.11)      277.8486 (2.31)        277.0598 (60.85)      1.0734 (1.69)        277.7751 (127.49)     1.6238 (19.45)         1;0    3.6093 (0.02)          5           1
test_ppp_0105                        313.5031 (197.02)      316.5948 (2.64)        314.7853 (69.14)      1.2271 (1.93)        314.6930 (144.44)     1.8344 (21.98)         2;0    3.1768 (0.01)          5           1
test_ppp_0102                        451.3410 (283.64)      453.0843 (3.77)        452.1888 (99.32)      0.7295 (1.15)        452.3214 (207.61)     1.2393 (14.85)         2;0    2.2115 (0.01)          5           1
test_mesher_benchmark[100000]        511.2344 (321.28)      657.6413 (5.48)        615.4216 (135.17)    59.5374 (93.63)       636.8229 (292.29)    53.7202 (643.58)        1;1    1.6249 (0.01)          5           1
test_ppp_0110                        571.8256 (359.36)      578.6330 (4.82)        575.5086 (126.41)     2.6990 (4.24)        576.5737 (264.64)     3.9643 (47.49)         2;0    1.7376 (0.01)          5           1
test_ttt_24_SPO_06                   572.8023 (359.97)      647.6379 (5.39)        590.8107 (129.77)    31.8852 (50.14)       578.5744 (265.56)    22.0607 (264.29)        1;1    1.6926 (0.01)          5           1
test_ppp_0107                        842.9902 (529.77)      853.2604 (7.11)        845.3720 (185.68)     4.4264 (6.96)        843.6870 (387.24)     3.1786 (38.08)         1;1    1.1829 (0.01)          5           1
test_ttt_23_02_02                    944.7868 (593.74)      958.1590 (7.98)        950.5092 (208.77)     5.0978 (8.02)        950.7275 (436.37)     6.7531 (80.90)         2;0    1.0521 (0.00)          5           1
test_ppp_0101                      9,706.8569 (>1000.0)   9,732.0902 (81.07)     9,715.1094 (>1000.0)    9.9320 (15.62)     9,713.0243 (>1000.0)    9.9381 (119.06)        1;0    0.1029 (0.00)          5           1
test_ppp_0106                     26,875.1096 (>1000.0)  27,365.1841 (227.95)   27,022.7204 (>1000.0)  211.0890 (331.97)   26,904.6353 (>1000.0)  280.8139 (>1000.0)       1;0    0.0370 (0.00)          5           1
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions