Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(lib): added graph disconnection utility #94

Merged
merged 2 commits into from
Jun 26, 2024
Merged

feat(lib): added graph disconnection utility #94

merged 2 commits into from
Jun 26, 2024

Conversation

jeertmans
Copy link
Owner

No description provided.

@jeertmans jeertmans added the enhancement New feature or request label Jun 26, 2024
Copy link
Contributor

github-actions bot commented Jun 26, 2024

Rust benchmark results:

group                                                       before                                 changes
-----                                                       ------                                 -------
complete_graph_all_paths/iter                               1.00     23.2±0.80ns 41.2 MElem/sec    1.00     23.1±0.49ns 41.2 MElem/sec
complete_graph_all_paths_array_chunks/1                     1.01     33.1±0.15ns 28.9 MElem/sec    1.00     32.8±0.22ns 29.1 MElem/sec
complete_graph_all_paths_array_chunks/10                    1.00    365.8±3.64ns 26.1 MElem/sec    1.03    377.2±7.18ns 25.3 MElem/sec
complete_graph_all_paths_array_chunks/100                   1.00      2.5±0.05µs 38.5 MElem/sec    1.00      2.5±0.04µs 38.5 MElem/sec
complete_graph_all_paths_array_chunks/1000                  1.00     22.8±0.60µs 41.8 MElem/sec    1.00     22.7±0.15µs 42.0 MElem/sec
di_graph_from_complete_graph_all_paths/iter                 1.01    234.5±2.02ns  4.1 MElem/sec    1.00    233.3±3.16ns  4.1 MElem/sec
di_graph_from_complete_graph_all_paths_array_chunks/1       1.01    244.1±1.86ns  3.9 MElem/sec    1.00    241.8±9.16ns  3.9 MElem/sec
di_graph_from_complete_graph_all_paths_array_chunks/10      1.01      2.7±0.04µs  3.5 MElem/sec    1.00      2.7±0.02µs  3.6 MElem/sec
di_graph_from_complete_graph_all_paths_array_chunks/100     1.00     24.4±0.74µs  3.9 MElem/sec    1.09     26.6±1.13µs  3.6 MElem/sec
di_graph_from_complete_graph_all_paths_array_chunks/1000    1.04    257.1±2.39µs  3.7 MElem/sec    1.00    247.8±2.74µs  3.8 MElem/sec

Copy link
Contributor

github-actions bot commented Jun 26, 2024

Python benchmark results:


-------------------------------- benchmark 'complete_graph_all_paths': 3 tests --------------------------------
Name (time in ns)                                    Mean              StdDev            OPS (Mops/s)          
---------------------------------------------------------------------------------------------------------------
test_complete_graph_all_paths (0003_before)      370.2837 (1.09)      97.6449 (1.0)            2.7006 (0.91)   
test_complete_graph_all_paths (0001_changes)     372.6124 (1.10)     105.6564 (1.08)           2.6838 (0.91)   
test_complete_graph_all_paths (0002_pgo)         338.5584 (1.0)      261.1107 (2.67)           2.9537 (1.0)    
---------------------------------------------------------------------------------------------------------------

----------------------------------- benchmark 'complete_graph_all_paths_array_chunks': 12 tests ------------------------------------
Name (time in ns)                                                       Mean                StdDev            OPS (Mops/s)          
------------------------------------------------------------------------------------------------------------------------------------
test_complete_graph_all_paths_array_chunks[1000] (0002_pgo)          28.5900 (1.0)        131.9096 (4.29)          34.9773 (1.0)    
test_complete_graph_all_paths_array_chunks[1000] (0003_before)       31.1812 (1.09)       175.8795 (5.71)          32.0706 (0.92)   
test_complete_graph_all_paths_array_chunks[1000] (0001_changes)      31.5972 (1.11)       187.8723 (6.10)          31.6483 (0.90)   
test_complete_graph_all_paths_array_chunks[100] (0002_pgo)           38.5776 (1.35)       129.2022 (4.20)          25.9218 (0.74)   
test_complete_graph_all_paths_array_chunks[100] (0001_changes)       39.4569 (1.38)        30.7766 (1.0)           25.3441 (0.72)   
test_complete_graph_all_paths_array_chunks[100] (0003_before)        39.2214 (1.37)        37.5861 (1.22)          25.4963 (0.73)   
test_complete_graph_all_paths_array_chunks[10] (0002_pgo)            68.3633 (2.39)       293.0141 (9.52)          14.6277 (0.42)   
test_complete_graph_all_paths_array_chunks[10] (0001_changes)        75.5793 (2.64)        48.9440 (1.59)          13.2311 (0.38)   
test_complete_graph_all_paths_array_chunks[10] (0003_before)         77.3255 (2.70)        62.4560 (2.03)          12.9323 (0.37)   
test_complete_graph_all_paths_array_chunks[1] (0002_pgo)            333.0354 (11.65)    1,203.2250 (39.10)          3.0027 (0.09)   
test_complete_graph_all_paths_array_chunks[1] (0001_changes)        329.3226 (11.52)      776.9960 (25.25)          3.0365 (0.09)   
test_complete_graph_all_paths_array_chunks[1] (0003_before)         334.8817 (11.71)      685.7937 (22.28)          2.9861 (0.09)   
------------------------------------------------------------------------------------------------------------------------------------

------------------------------------- benchmark 'di_graph_complete_graph_all_paths_array_chunks': 12 tests -------------------------------------
Name (time in ns)                                                                     Mean              StdDev            OPS (Mops/s)          
------------------------------------------------------------------------------------------------------------------------------------------------
test_di_graph_from_complete_graph_all_paths_array_chunks[1000] (0002_pgo)         224.0751 (1.0)        6.6425 (1.0)            4.4628 (1.0)    
test_di_graph_from_complete_graph_all_paths_array_chunks[100] (0002_pgo)          247.9591 (1.11)      23.3065 (3.51)           4.0329 (0.90)   
test_di_graph_from_complete_graph_all_paths_array_chunks[100] (0001_changes)      270.7754 (1.21)      37.6705 (5.67)           3.6931 (0.83)   
test_di_graph_from_complete_graph_all_paths_array_chunks[100] (0003_before)       264.3193 (1.18)      24.6142 (3.71)           3.7833 (0.85)   
test_di_graph_from_complete_graph_all_paths_array_chunks[1000] (0001_changes)     246.7975 (1.10)       7.9649 (1.20)           4.0519 (0.91)   
test_di_graph_from_complete_graph_all_paths_array_chunks[1000] (0003_before)      248.2105 (1.11)       6.6916 (1.01)           4.0288 (0.90)   
test_di_graph_from_complete_graph_all_paths_array_chunks[10] (0002_pgo)           301.2056 (1.34)     140.9622 (21.22)          3.3200 (0.74)   
test_di_graph_from_complete_graph_all_paths_array_chunks[10] (0001_changes)       329.4664 (1.47)      83.7985 (12.62)          3.0352 (0.68)   
test_di_graph_from_complete_graph_all_paths_array_chunks[10] (0003_before)        328.6395 (1.47)     167.1627 (25.17)          3.0428 (0.68)   
test_di_graph_from_complete_graph_all_paths_array_chunks[1] (0002_pgo)            552.8929 (2.47)     760.7918 (114.53)         1.8087 (0.41)   
test_di_graph_from_complete_graph_all_paths_array_chunks[1] (0001_changes)        621.9527 (2.78)     462.3004 (69.60)          1.6078 (0.36)   
test_di_graph_from_complete_graph_all_paths_array_chunks[1] (0003_before)         612.4297 (2.73)     668.4664 (100.63)         1.6328 (0.37)   
------------------------------------------------------------------------------------------------------------------------------------------------

-------------------------------- benchmark 'di_graph_from_complete_graph_all_paths': 3 tests --------------------------------
Name (time in ns)                                                  Mean              StdDev            OPS (Mops/s)          
-----------------------------------------------------------------------------------------------------------------------------
test_di_graph_from_complete_graph_all_paths (0002_pgo)         544.8933 (1.0)      548.9168 (1.42)           1.8352 (1.0)    
test_di_graph_from_complete_graph_all_paths (0003_before)      588.5709 (1.08)     580.3464 (1.50)           1.6990 (0.93)   
test_di_graph_from_complete_graph_all_paths (0001_changes)     595.0814 (1.09)     386.1742 (1.0)            1.6804 (0.92)   
-----------------------------------------------------------------------------------------------------------------------------

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

@jeertmans jeertmans merged commit 6c80531 into main Jun 26, 2024
41 of 46 checks passed
@jeertmans jeertmans deleted the disconnect branch June 26, 2024 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant