
Changed from using .reserve(1000) for pointer stability in planes vector to using std::deque
Have not seen any segmentation faults...

Using 4 threads for everything

2020-04-04 10:41:01
Running ./cmake-build/bin/run-bench
Run on (24 X 3800 MHz CPU s)
CPU Caches:
  L1 Data 32K (x12)
  L1 Instruction 32K (x12)
  L2 Unified 512K (x12)
  L3 Unified 16384K (x4)
Load Average: 0.86, 0.80, 0.76
-----------------------------------------------------------------------------------------------------------------------------------------
Benchmark                                                                                               Time             CPU   Iterations
-----------------------------------------------------------------------------------------------------------------------------------------
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/1/real_time_mean                   324 us          324 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/1/real_time_median                 325 us          325 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/1/real_time_stddev                7.16 us         7.16 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/2/real_time_mean                   393 us          393 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/2/real_time_median                 393 us          393 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/2/real_time_stddev                1.31 us         1.32 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/3/real_time_mean                   604 us          604 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/3/real_time_median                 603 us          603 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/3/real_time_stddev                1.90 us         1.91 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/4/real_time_mean                   893 us          893 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/4/real_time_median                 894 us          894 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/4/real_time_stddev                3.19 us         3.18 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/1/real_time_mean          591 us          238 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/1/real_time_median        592 us          238 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/1/real_time_stddev       9.48 us        0.757 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/2/real_time_mean          633 us          289 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/2/real_time_median        625 us          290 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/2/real_time_stddev       20.0 us         2.37 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/3/real_time_mean          736 us          332 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/3/real_time_median        734 us          334 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/3/real_time_stddev       12.0 us         7.72 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/4/real_time_mean          819 us          380 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/4/real_time_median        819 us          381 us            3
ImagesAndSparseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/4/real_time_stddev       7.59 us         1.95 us            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/1/real_time_mean                            71.0 ms         71.0 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/1/real_time_median                          71.0 ms         71.0 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/1/real_time_stddev                         0.133 ms        0.135 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/2/real_time_mean                            92.9 ms         92.9 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/2/real_time_median                          92.8 ms         92.8 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/2/real_time_stddev                         0.156 ms        0.158 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/3/real_time_mean                             114 ms          114 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/3/real_time_median                           114 ms          114 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/3/real_time_stddev                         0.281 ms        0.280 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/4/real_time_mean                             139 ms          139 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/4/real_time_median                           139 ms          139 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormals/4/real_time_stddev                         0.195 ms        0.196 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/1/real_time_mean                   50.0 ms         18.5 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/1/real_time_median                 49.9 ms         18.3 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/1/real_time_stddev                0.481 ms        0.339 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/2/real_time_mean                   50.8 ms         19.8 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/2/real_time_median                 50.9 ms         19.8 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/2/real_time_stddev                0.122 ms        0.058 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/3/real_time_mean                   54.7 ms         21.2 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/3/real_time_median                 54.7 ms         21.2 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/3/real_time_stddev                0.427 ms        0.116 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/4/real_time_mean                   65.4 ms         22.7 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/4/real_time_median                 65.4 ms         22.7 ms            3
DenseMesh/BM_ExtractPlanesAndPolygonsFromMultipleNormalsOptimized/4/real_time_stddev                0.087 ms        0.059 ms            3



Python Tests as well, this is only 2 and 2.5 Dealaunay Triangluation

platform linux -- Python 3.7.6, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
benchmark: 3.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /home/jeremy/Documents/UMICH/Research/polylidar
plugins: benchmark-3.2.3
collected 20 items                                                                                                                                                                                                                                                     

python_tests/benchmark_test.py ....................                                                                                                                                                                                                              [100%]


----------------------------------------------------------------------------------------------- benchmark: 20 tests ------------------------------------------------------------------------------------------------
Name (time in us)                   Min                    Max                   Mean                StdDev                 Median                 IQR            Outliers         OPS            Rounds  Iterations
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test_clusters[2-1000]          747.4990 (1.0)       1,026.1270 (1.0)         768.6784 (1.0)         41.1789 (3.33)        761.5985 (1.0)       14.7650 (1.0)         42;51  1,300.9342 (1.0)        1184           1
test_clusters[3-1000]        1,146.2470 (1.53)      1,295.8370 (1.26)      1,164.2508 (1.51)        12.3692 (1.0)       1,161.3770 (1.52)      18.2732 (1.24)        217;4    858.9215 (0.66)        737           1
test_clusters[4-1000]        1,551.6360 (2.08)      1,669.3850 (1.63)      1,577.9772 (2.05)        16.8851 (1.37)      1,578.6860 (2.07)      26.1500 (1.77)        199;4    633.7227 (0.49)        618           1
test_clusters[5-1000]        1,997.5050 (2.67)      2,157.2540 (2.10)      2,030.3000 (2.64)        20.7303 (1.68)      2,031.2550 (2.67)      32.9543 (2.23)        141;4    492.5380 (0.38)        479           1
test_clusters[6-1000]        2,461.4040 (3.29)      2,586.5640 (2.52)      2,500.1548 (3.25)        24.4349 (1.98)      2,493.0935 (3.27)      43.0350 (2.91)        144;1    399.9752 (0.31)        384           1
test_clusters[7-1000]        2,908.7530 (3.89)      3,030.6630 (2.95)      2,955.1129 (3.84)        26.7447 (2.16)      2,951.3825 (3.88)      47.7400 (3.23)        130;0    338.3965 (0.26)        330           1
test_clusters[8-1000]        3,326.5520 (4.45)      3,502.5410 (3.41)      3,376.3525 (4.39)        32.0645 (2.59)      3,366.9320 (4.42)      58.2742 (3.95)        111;1    296.1776 (0.23)        287           1
test_clusters[9-1000]        3,763.2110 (5.03)      3,955.2900 (3.85)      3,833.7005 (4.99)        38.2107 (3.09)      3,823.5910 (5.02)      60.8668 (4.12)         90;0    260.8446 (0.20)        257           1
test_clusters[10-1000]       4,203.9990 (5.62)      4,422.3890 (4.31)      4,270.4545 (5.56)        38.7711 (3.13)      4,263.4295 (5.60)      71.9990 (4.88)         91;1    234.1671 (0.18)        230           1
test_clusters[2-10000]       9,394.6570 (12.57)     9,749.6260 (9.50)      9,509.0990 (12.37)       54.4838 (4.40)      9,510.3170 (12.49)     68.9500 (4.67)         31;2    105.1624 (0.08)        103           1
test_clusters[3-10000]      14,581.2650 (19.51)    14,858.4540 (14.48)    14,708.2504 (19.13)       44.0923 (3.56)     14,707.0190 (19.31)     38.4120 (2.60)         13;6     67.9891 (0.05)         70           1
test_clusters[4-10000]      19,579.5520 (26.19)    20,073.7710 (19.56)    19,891.9057 (25.88)      114.5059 (9.26)     19,919.1740 (26.15)    100.5890 (6.81)         11;5     50.2717 (0.04)         50           1
test_clusters[5-10000]      25,686.1070 (34.36)    26,238.6550 (25.57)    26,002.6579 (33.83)       91.4614 (7.39)     26,000.2560 (34.14)     95.6907 (6.48)          6;2     38.4576 (0.03)         39           1
test_clusters[6-10000]      30,913.9040 (41.36)    32,036.6410 (31.22)    31,092.4776 (40.45)      185.5489 (15.00)    31,058.7240 (40.78)     54.1435 (3.67)          2;6     32.1621 (0.02)         33           1
test_clusters[7-10000]      36,591.1300 (48.95)    37,520.2360 (36.56)    36,893.6636 (48.00)      180.0139 (14.55)    36,901.8670 (48.45)    137.7628 (9.33)          5;4     27.1049 (0.02)         27           1
test_clusters[8-10000]      42,608.3240 (57.00)    43,772.3030 (42.66)    42,884.4820 (55.79)      228.6507 (18.49)    42,839.8230 (56.25)    165.4255 (11.20)         4;1     23.3185 (0.02)         24           1
test_clusters[9-10000]      48,291.1390 (64.60)    49,183.9980 (47.93)    48,500.0118 (63.10)      242.3979 (19.60)    48,427.8410 (63.59)    208.0950 (14.09)         3;2     20.6186 (0.02)         21           1
test_100k_array_lmax        51,059.0930 (68.31)    51,764.3710 (50.45)    51,306.0839 (66.75)      174.0628 (14.07)    51,307.3220 (67.37)    207.7270 (14.07)         5;1     19.4909 (0.01)         19           1
test_clusters[10-10000]     53,611.1770 (71.72)    54,352.4750 (52.97)    53,871.8957 (70.08)      224.9888 (18.19)    53,782.0160 (70.62)    273.9978 (18.56)         5;0     18.5626 (0.01)         19           1
test_100k_array_3d_lmax     55,808.0110 (74.66)    62,792.2830 (61.19)    56,535.9567 (73.55)    1,578.0220 (127.58)   56,176.3355 (73.76)    416.5000 (28.21)         1;1     17.6879 (0.01)         18           1
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Legend:
  Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile.
  OPS: Operations Per Second, computed as 1 / Mean
========================================================================================================================= 20 passed in 22.48s ==========================================================================================================================
(ppb) ➜  polylidar git:(major_changes_refactor) ✗ 

