Skip to content

Conversation

@amontoison
Copy link
Collaborator

@amontoison amontoison commented Apr 5, 2025

The code is not yet documented but we can have an idea of the gain.

@amontoison amontoison added performance Speeding things up benchmark Run benchmarks on PR labels Apr 5, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Apr 5, 2025

Benchmark Results

main 6a80071... main/6a80071cf26d0c...
coloring/nonsymmetric/bidirectional/direct/n=1000/p=0.002 1.9 ± 0.014 ms 1.92 ± 0.017 ms 0.989
coloring/nonsymmetric/bidirectional/direct/n=1000/p=0.005 4.36 ± 0.032 ms 4.4 ± 0.036 ms 0.992
coloring/nonsymmetric/bidirectional/direct/n=1000/p=0.01 9.81 ± 0.071 ms 9.84 ± 0.099 ms 0.997
coloring/nonsymmetric/bidirectional/direct/n=100000/p=0.0001 2.08 ± 0.011 s 2.61 ± 0.021 s 0.797
coloring/nonsymmetric/bidirectional/direct/n=100000/p=2.0e-5 0.292 ± 0.0046 s 0.318 ± 0.012 s 0.921
coloring/nonsymmetric/bidirectional/direct/n=100000/p=5.0e-5 0.779 ± 0.016 s 0.975 ± 0.048 s 0.799
coloring/nonsymmetric/bidirectional/substitution/n=1000/p=0.002 5.35 ± 1.1 ms 2.93 ± 0.025 ms 1.83
coloring/nonsymmetric/bidirectional/substitution/n=1000/p=0.005 13.2 ± 2.2 ms 7.66 ± 0.076 ms 1.72
coloring/nonsymmetric/bidirectional/substitution/n=1000/p=0.01 29.5 ± 0.98 ms 18.3 ± 0.17 ms 1.61
coloring/nonsymmetric/bidirectional/substitution/n=100000/p=0.0001 6.39 s 4.95 ± 0.059 s 1.29
coloring/nonsymmetric/bidirectional/substitution/n=100000/p=2.0e-5 0.823 ± 0.025 s 0.515 ± 0.034 s 1.6
coloring/nonsymmetric/bidirectional/substitution/n=100000/p=5.0e-5 2.83 ± 0.053 s 1.77 ± 0.03 s 1.6
coloring/nonsymmetric/column/direct/n=1000/p=0.002 0.492 ± 0.01 ms 0.494 ± 0.01 ms 0.997
coloring/nonsymmetric/column/direct/n=1000/p=0.005 1.22 ± 0.0092 ms 1.22 ± 0.012 ms 0.996
coloring/nonsymmetric/column/direct/n=1000/p=0.01 3.33 ± 0.34 ms 3.02 ± 0.016 ms 1.1
coloring/nonsymmetric/column/direct/n=100000/p=0.0001 0.518 ± 0.0089 s 0.582 ± 0.021 s 0.89
coloring/nonsymmetric/column/direct/n=100000/p=2.0e-5 0.0817 ± 0.00076 s 0.0826 ± 0.0025 s 0.99
coloring/nonsymmetric/column/direct/n=100000/p=5.0e-5 0.213 ± 0.0047 s 0.219 ± 0.0069 s 0.977
coloring/nonsymmetric/row/direct/n=1000/p=0.002 0.482 ± 0.011 ms 0.478 ± 0.01 ms 1.01
coloring/nonsymmetric/row/direct/n=1000/p=0.005 1.2 ± 0.01 ms 1.19 ± 0.011 ms 1
coloring/nonsymmetric/row/direct/n=1000/p=0.01 2.99 ± 0.015 ms 2.98 ± 0.022 ms 1
coloring/nonsymmetric/row/direct/n=100000/p=0.0001 0.508 ± 0.019 s 0.579 ± 0.021 s 0.878
coloring/nonsymmetric/row/direct/n=100000/p=2.0e-5 0.0817 ± 0.0022 s 0.0822 ± 0.0011 s 0.994
coloring/nonsymmetric/row/direct/n=100000/p=5.0e-5 0.209 ± 0.0036 s 0.217 ± 0.008 s 0.965
coloring/symmetric/column/direct/n=1000/p=0.002 1.04 ± 0.0094 ms 1.05 ± 0.012 ms 0.991
coloring/symmetric/column/direct/n=1000/p=0.005 2.28 ± 0.014 ms 2.29 ± 0.017 ms 0.996
coloring/symmetric/column/direct/n=1000/p=0.01 4.94 ± 0.033 ms 4.93 ± 0.033 ms 1
coloring/symmetric/column/direct/n=100000/p=0.0001 0.763 ± 0.01 s 0.951 ± 0.025 s 0.803
coloring/symmetric/column/direct/n=100000/p=2.0e-5 0.146 ± 0.0019 s 0.15 ± 0.0024 s 0.978
coloring/symmetric/column/direct/n=100000/p=5.0e-5 0.331 ± 0.0079 s 0.37 ± 0.019 s 0.892
coloring/symmetric/column/substitution/n=1000/p=0.002 2.84 ± 0.79 ms 1.62 ± 0.016 ms 1.76
coloring/symmetric/column/substitution/n=1000/p=0.005 6.68 ± 0.1 ms 4.01 ± 0.021 ms 1.66
coloring/symmetric/column/substitution/n=1000/p=0.01 14.7 ± 0.5 ms 9.15 ± 0.054 ms 1.61
coloring/symmetric/column/substitution/n=100000/p=0.0001 2.69 ± 0.014 s 2.03 ± 0.044 s 1.33
coloring/symmetric/column/substitution/n=100000/p=2.0e-5 0.385 ± 0.013 s 0.233 ± 0.0054 s 1.66
coloring/symmetric/column/substitution/n=100000/p=5.0e-5 1.1 ± 0.024 s 0.711 ± 0.047 s 1.55
decompress/nonsymmetric/bidirectional/direct/n=1000/p=0.002 0.156 ± 0.0072 ms 0.137 ± 0.0081 ms 1.13
decompress/nonsymmetric/bidirectional/direct/n=1000/p=0.005 0.233 ± 0.0081 ms 0.229 ± 0.0077 ms 1.02
decompress/nonsymmetric/bidirectional/direct/n=1000/p=0.01 0.388 ± 0.015 ms 0.369 ± 0.011 ms 1.05
decompress/nonsymmetric/bidirectional/direct/n=100000/p=0.0001 0.0865 ± 0.0021 s 0.101 ± 0.0035 s 0.856
decompress/nonsymmetric/bidirectional/direct/n=100000/p=2.0e-5 29.8 ± 1.7 ms 0.0335 ± 0.0011 s 0.888
decompress/nonsymmetric/bidirectional/direct/n=100000/p=5.0e-5 0.0597 ± 0.0034 s 0.0626 ± 0.0022 s 0.954
decompress/nonsymmetric/bidirectional/substitution/n=1000/p=0.002 0.145 ± 0.006 ms 0.15 ± 0.0073 ms 0.968
decompress/nonsymmetric/bidirectional/substitution/n=1000/p=0.005 0.306 ± 0.0091 ms 0.285 ± 0.01 ms 1.07
decompress/nonsymmetric/bidirectional/substitution/n=1000/p=0.01 0.615 ± 0.013 ms 0.574 ± 0.016 ms 1.07
decompress/nonsymmetric/bidirectional/substitution/n=100000/p=0.0001 0.205 ± 0.018 s 0.168 ± 0.0083 s 1.22
decompress/nonsymmetric/bidirectional/substitution/n=100000/p=2.0e-5 0.0363 ± 0.0017 s 0.0362 ± 0.0012 s 1
decompress/nonsymmetric/bidirectional/substitution/n=100000/p=5.0e-5 0.0844 ± 0.0079 s 0.083 ± 0.0058 s 1.02
decompress/nonsymmetric/column/direct/n=1000/p=0.002 25.8 ± 1.4 μs 28.3 ± 2.1 μs 0.911
decompress/nonsymmetric/column/direct/n=1000/p=0.005 0.0489 ± 0.0022 ms 0.0526 ± 0.0036 ms 0.929
decompress/nonsymmetric/column/direct/n=1000/p=0.01 0.0867 ± 0.0045 ms 0.0958 ± 0.006 ms 0.905
decompress/nonsymmetric/column/direct/n=100000/p=0.0001 26.2 ± 0.85 ms 28.2 ± 1.8 ms 0.928
decompress/nonsymmetric/column/direct/n=100000/p=2.0e-5 4.69 ± 0.43 ms 5.02 ± 0.65 ms 0.934
decompress/nonsymmetric/column/direct/n=100000/p=5.0e-5 12.5 ± 0.35 ms 13.5 ± 1.2 ms 0.932
decompress/nonsymmetric/row/direct/n=1000/p=0.002 25.6 ± 1.2 μs 28.1 ± 2.1 μs 0.913
decompress/nonsymmetric/row/direct/n=1000/p=0.005 0.0453 ± 0.0038 ms 0.0467 ± 0.0033 ms 0.97
decompress/nonsymmetric/row/direct/n=1000/p=0.01 0.0827 ± 0.0029 ms 0.0847 ± 0.0055 ms 0.977
decompress/nonsymmetric/row/direct/n=100000/p=0.0001 11.6 ± 0.63 ms 13.2 ± 0.84 ms 0.877
decompress/nonsymmetric/row/direct/n=100000/p=2.0e-5 3.05 ± 0.12 ms 3.42 ± 0.28 ms 0.891
decompress/nonsymmetric/row/direct/n=100000/p=5.0e-5 5.82 ± 0.19 ms 6.53 ± 0.48 ms 0.891
decompress/symmetric/column/direct/n=1000/p=0.002 24.3 ± 1.2 μs 28.6 ± 2.3 μs 0.85
decompress/symmetric/column/direct/n=1000/p=0.005 0.0448 ± 0.0017 ms 0.0511 ± 0.0032 ms 0.876
decompress/symmetric/column/direct/n=1000/p=0.01 0.0802 ± 0.0032 ms 0.0917 ± 0.006 ms 0.875
decompress/symmetric/column/direct/n=100000/p=0.0001 20.3 ± 0.72 ms 26.8 ± 2.1 ms 0.757
decompress/symmetric/column/direct/n=100000/p=2.0e-5 3.48 ± 0.4 ms 4.38 ± 0.55 ms 0.794
decompress/symmetric/column/direct/n=100000/p=5.0e-5 9.99 ± 0.31 ms 12.3 ± 1.1 ms 0.815
decompress/symmetric/column/substitution/n=1000/p=0.002 0.0903 ± 0.0029 ms 0.0927 ± 0.0041 ms 0.975
decompress/symmetric/column/substitution/n=1000/p=0.005 0.173 ± 0.0084 ms 0.179 ± 0.0086 ms 0.969
decompress/symmetric/column/substitution/n=1000/p=0.01 0.352 ± 0.01 ms 0.355 ± 0.013 ms 0.991
decompress/symmetric/column/substitution/n=100000/p=0.0001 0.0937 ± 0.0032 s 0.0982 ± 0.0055 s 0.954
decompress/symmetric/column/substitution/n=100000/p=2.0e-5 24 ± 0.4 ms 24.4 ± 0.72 ms 0.986
decompress/symmetric/column/substitution/n=100000/p=5.0e-5 0.0472 ± 0.00072 s 0.046 ± 0.0023 s 1.03
time_to_load 0.22 ± 0.0057 s 0.223 ± 0.00095 s 0.989
main 6a80071... main/6a80071cf26d0c...
coloring/nonsymmetric/bidirectional/direct/n=1000/p=0.002 0.475 k allocs: 2.35 MB 0.475 k allocs: 2.35 MB 1
coloring/nonsymmetric/bidirectional/direct/n=1000/p=0.005 0.485 k allocs: 3.96 MB 0.485 k allocs: 3.96 MB 1
coloring/nonsymmetric/bidirectional/direct/n=1000/p=0.01 0.495 k allocs: 6.99 MB 0.495 k allocs: 6.99 MB 1
coloring/nonsymmetric/bidirectional/direct/n=100000/p=0.0001 0.555 k allocs: 0.712 GB 0.555 k allocs: 0.712 GB 1
coloring/nonsymmetric/bidirectional/direct/n=100000/p=2.0e-5 0.525 k allocs: 0.24 GB 0.525 k allocs: 0.24 GB 1
coloring/nonsymmetric/bidirectional/direct/n=100000/p=5.0e-5 0.545 k allocs: 0.426 GB 0.545 k allocs: 0.426 GB 1
coloring/nonsymmetric/bidirectional/substitution/n=1000/p=0.002 0.0449 M allocs: 5.23 MB 0.638 k allocs: 2.82 MB 1.85
coloring/nonsymmetric/bidirectional/substitution/n=1000/p=0.005 0.0892 M allocs: 9.71 MB 0.64 k allocs: 4.82 MB 2.01
coloring/nonsymmetric/bidirectional/substitution/n=1000/p=0.01 0.172 M allocs: 18.4 MB 0.64 k allocs: 8.33 MB 2.21
coloring/nonsymmetric/bidirectional/substitution/n=100000/p=0.0001 16.6 M allocs: 1.74 GB 0.645 k allocs: 0.812 GB 2.14
coloring/nonsymmetric/bidirectional/substitution/n=100000/p=2.0e-5 4.32 M allocs: 0.498 GB 0.645 k allocs: 0.272 GB 1.83
coloring/nonsymmetric/bidirectional/substitution/n=100000/p=5.0e-5 8.74 M allocs: 0.964 GB 0.645 k allocs: 0.472 GB 2.04
coloring/nonsymmetric/column/direct/n=1000/p=0.002 0.135 k allocs: 0.354 MB 0.135 k allocs: 0.354 MB 1
coloring/nonsymmetric/column/direct/n=1000/p=0.005 0.135 k allocs: 0.578 MB 0.135 k allocs: 0.578 MB 1
coloring/nonsymmetric/column/direct/n=1000/p=0.01 0.135 k allocs: 0.967 MB 0.135 k allocs: 0.967 MB 1
coloring/nonsymmetric/column/direct/n=100000/p=0.0001 0.135 k allocs: 0.0931 GB 0.135 k allocs: 0.0931 GB 1
coloring/nonsymmetric/column/direct/n=100000/p=2.0e-5 0.135 k allocs: 0.0335 GB 0.135 k allocs: 0.0335 GB 1
coloring/nonsymmetric/column/direct/n=100000/p=5.0e-5 0.135 k allocs: 0.0558 GB 0.135 k allocs: 0.0558 GB 1
coloring/nonsymmetric/row/direct/n=1000/p=0.002 0.135 k allocs: 0.354 MB 0.135 k allocs: 0.354 MB 1
coloring/nonsymmetric/row/direct/n=1000/p=0.005 0.135 k allocs: 0.578 MB 0.135 k allocs: 0.578 MB 1
coloring/nonsymmetric/row/direct/n=1000/p=0.01 0.135 k allocs: 0.967 MB 0.135 k allocs: 0.967 MB 1
coloring/nonsymmetric/row/direct/n=100000/p=0.0001 0.135 k allocs: 0.0931 GB 0.135 k allocs: 0.0931 GB 1
coloring/nonsymmetric/row/direct/n=100000/p=2.0e-5 0.135 k allocs: 0.0335 GB 0.135 k allocs: 0.0335 GB 1
coloring/nonsymmetric/row/direct/n=100000/p=5.0e-5 0.135 k allocs: 0.0558 GB 0.135 k allocs: 0.0558 GB 1
coloring/symmetric/column/direct/n=1000/p=0.002 0.22 k allocs: 0.583 MB 0.22 k allocs: 0.583 MB 1
coloring/symmetric/column/direct/n=1000/p=0.005 0.23 k allocs: 0.932 MB 0.23 k allocs: 0.932 MB 1
coloring/symmetric/column/direct/n=1000/p=0.01 0.24 k allocs: 1.57 MB 0.24 k allocs: 1.57 MB 1
coloring/symmetric/column/direct/n=100000/p=0.0001 0.3 k allocs: 0.168 GB 0.3 k allocs: 0.168 GB 1
coloring/symmetric/column/direct/n=100000/p=2.0e-5 0.27 k allocs: 0.056 GB 0.27 k allocs: 0.056 GB 1
coloring/symmetric/column/direct/n=100000/p=5.0e-5 0.29 k allocs: 0.0995 GB 0.29 k allocs: 0.0995 GB 1
coloring/symmetric/column/substitution/n=1000/p=0.002 22.4 k allocs: 2.17 MB 0.4 k allocs: 0.944 MB 2.29
coloring/symmetric/column/substitution/n=1000/p=0.005 0.0448 M allocs: 4.09 MB 0.405 k allocs: 1.64 MB 2.49
coloring/symmetric/column/substitution/n=1000/p=0.01 0.0862 M allocs: 7.86 MB 0.411 k allocs: 2.85 MB 2.75
coloring/symmetric/column/substitution/n=100000/p=0.0001 8.31 M allocs: 0.74 GB 0.416 k allocs: 0.276 GB 2.68
coloring/symmetric/column/substitution/n=100000/p=2.0e-5 2.16 M allocs: 0.203 GB 0.41 k allocs: 0.0897 GB 2.26
coloring/symmetric/column/substitution/n=100000/p=5.0e-5 4.37 M allocs: 0.407 GB 0.41 k allocs: 0.159 GB 2.56
decompress/nonsymmetric/bidirectional/direct/n=1000/p=0.002 0.045 k allocs: 0.197 MB 0.045 k allocs: 0.197 MB 1
decompress/nonsymmetric/bidirectional/direct/n=1000/p=0.005 0.045 k allocs: 0.419 MB 0.045 k allocs: 0.419 MB 1
decompress/nonsymmetric/bidirectional/direct/n=1000/p=0.01 0.045 k allocs: 0.802 MB 0.045 k allocs: 0.802 MB 1
decompress/nonsymmetric/bidirectional/direct/n=100000/p=0.0001 0.045 k allocs: 0.0782 GB 0.045 k allocs: 0.0782 GB 1
decompress/nonsymmetric/bidirectional/direct/n=100000/p=2.0e-5 0.045 k allocs: 19.1 MB 0.045 k allocs: 19.1 MB 1
decompress/nonsymmetric/bidirectional/direct/n=100000/p=5.0e-5 0.045 k allocs: 0.0409 GB 0.045 k allocs: 0.0409 GB 1
decompress/nonsymmetric/bidirectional/substitution/n=1000/p=0.002 0.045 k allocs: 0.197 MB 0.045 k allocs: 0.197 MB 1
decompress/nonsymmetric/bidirectional/substitution/n=1000/p=0.005 0.045 k allocs: 0.419 MB 0.045 k allocs: 0.419 MB 1
decompress/nonsymmetric/bidirectional/substitution/n=1000/p=0.01 0.045 k allocs: 0.802 MB 0.045 k allocs: 0.802 MB 1
decompress/nonsymmetric/bidirectional/substitution/n=100000/p=0.0001 0.045 k allocs: 0.0782 GB 0.045 k allocs: 0.0782 GB 1
decompress/nonsymmetric/bidirectional/substitution/n=100000/p=2.0e-5 0.045 k allocs: 19.1 MB 0.045 k allocs: 19.1 MB 1
decompress/nonsymmetric/bidirectional/substitution/n=100000/p=5.0e-5 0.045 k allocs: 0.0409 GB 0.045 k allocs: 0.0409 GB 1
decompress/nonsymmetric/column/direct/n=1000/p=0.002 0.045 k allocs: 0.197 MB 0.045 k allocs: 0.197 MB 1
decompress/nonsymmetric/column/direct/n=1000/p=0.005 0.045 k allocs: 0.419 MB 0.045 k allocs: 0.419 MB 1
decompress/nonsymmetric/column/direct/n=1000/p=0.01 0.045 k allocs: 0.802 MB 0.045 k allocs: 0.802 MB 1
decompress/nonsymmetric/column/direct/n=100000/p=0.0001 0.045 k allocs: 0.0782 GB 0.045 k allocs: 0.0782 GB 1
decompress/nonsymmetric/column/direct/n=100000/p=2.0e-5 0.045 k allocs: 19.1 MB 0.045 k allocs: 19.1 MB 1
decompress/nonsymmetric/column/direct/n=100000/p=5.0e-5 0.045 k allocs: 0.0409 GB 0.045 k allocs: 0.0409 GB 1
decompress/nonsymmetric/row/direct/n=1000/p=0.002 0.045 k allocs: 0.197 MB 0.045 k allocs: 0.197 MB 1
decompress/nonsymmetric/row/direct/n=1000/p=0.005 0.045 k allocs: 0.419 MB 0.045 k allocs: 0.419 MB 1
decompress/nonsymmetric/row/direct/n=1000/p=0.01 0.045 k allocs: 0.802 MB 0.045 k allocs: 0.802 MB 1
decompress/nonsymmetric/row/direct/n=100000/p=0.0001 0.045 k allocs: 0.0782 GB 0.045 k allocs: 0.0782 GB 1
decompress/nonsymmetric/row/direct/n=100000/p=2.0e-5 0.045 k allocs: 19.1 MB 0.045 k allocs: 19.1 MB 1
decompress/nonsymmetric/row/direct/n=100000/p=5.0e-5 0.045 k allocs: 0.0409 GB 0.045 k allocs: 0.0409 GB 1
decompress/symmetric/column/direct/n=1000/p=0.002 0.045 k allocs: 0.197 MB 0.045 k allocs: 0.197 MB 1
decompress/symmetric/column/direct/n=1000/p=0.005 0.045 k allocs: 0.419 MB 0.045 k allocs: 0.419 MB 1
decompress/symmetric/column/direct/n=1000/p=0.01 0.045 k allocs: 0.802 MB 0.045 k allocs: 0.802 MB 1
decompress/symmetric/column/direct/n=100000/p=0.0001 0.045 k allocs: 0.0782 GB 0.045 k allocs: 0.0782 GB 1
decompress/symmetric/column/direct/n=100000/p=2.0e-5 0.045 k allocs: 19.1 MB 0.045 k allocs: 19.1 MB 1
decompress/symmetric/column/direct/n=100000/p=5.0e-5 0.045 k allocs: 0.0409 GB 0.045 k allocs: 0.0409 GB 1
decompress/symmetric/column/substitution/n=1000/p=0.002 0.045 k allocs: 0.197 MB 0.045 k allocs: 0.197 MB 1
decompress/symmetric/column/substitution/n=1000/p=0.005 0.045 k allocs: 0.419 MB 0.045 k allocs: 0.419 MB 1
decompress/symmetric/column/substitution/n=1000/p=0.01 0.045 k allocs: 0.802 MB 0.045 k allocs: 0.802 MB 1
decompress/symmetric/column/substitution/n=100000/p=0.0001 0.045 k allocs: 0.0782 GB 0.045 k allocs: 0.0782 GB 1
decompress/symmetric/column/substitution/n=100000/p=2.0e-5 0.045 k allocs: 19.1 MB 0.045 k allocs: 19.1 MB 1
decompress/symmetric/column/substitution/n=100000/p=5.0e-5 0.045 k allocs: 0.0409 GB 0.045 k allocs: 0.0409 GB 1
time_to_load 0.159 k allocs: 11.2 kB 0.159 k allocs: 11.2 kB 1

@amontoison
Copy link
Collaborator Author

I will finalize this PR next week after that the PR #237 is merged.

@gdalle
Copy link
Owner

gdalle commented Apr 7, 2025

@amontoison can you fix the conflicts with main? I merged #237 like you had asked as a preliminary step

@amontoison
Copy link
Collaborator Author

amontoison commented Apr 7, 2025

@gdalle Done, I rebased the PR.
I spend a lot of time to add comments in the code, such that you can understand what I am doing.
The main idea is to build a kind of "CSC" format for all trees in the forest in one pass.
It allows to quickly know what are the vertices in each tree and also the neighbors of a vertex inside a given tree.

In theory, all code of TreeSet should be in the TreeSetResultColoring but we want the vector is_star for the posprocessing and we only compute it during the reverse BFS of the trees.

@codecov
Copy link

codecov bot commented Apr 7, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (bcca5b8) to head (6a80071).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #233   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           15        15           
  Lines         1793      1823   +30     
=========================================
+ Hits          1793      1823   +30     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Owner

@gdalle gdalle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did a light review, I'm gonna trust you on this one like you trust me on the orders. There is just one important change which has to do with asymptotic complexity

@gdalle gdalle added benchmark Run benchmarks on PR and removed benchmark Run benchmarks on PR labels Apr 8, 2025
@amontoison amontoison requested a review from gdalle April 8, 2025 15:48
@gdalle gdalle merged commit 3c3442c into main Apr 8, 2025
6 checks passed
@gdalle gdalle deleted the acyclic_smart branch April 8, 2025 16:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

benchmark Run benchmarks on PR performance Speeding things up

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants