Skip to content

Improve the computation of TreeSet#228

Merged
gdalle merged 3 commits intomainfrom
acyclic_tree
Apr 4, 2025
Merged

Improve the computation of TreeSet#228
gdalle merged 3 commits intomainfrom
acyclic_tree

Conversation

@amontoison
Copy link
Copy Markdown
Collaborator

No description provided.

@amontoison amontoison added performance Speeding things up benchmark Run benchmarks on PR labels Apr 2, 2025
@amontoison amontoison requested a review from gdalle April 2, 2025 23:57
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 3, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (ba7da77) to head (d02912a).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #228   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           15        15           
  Lines         1758      1784   +26     
=========================================
+ Hits          1758      1784   +26     

☔ 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.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 3, 2025

Benchmark Results

main 6739849... main/67398491447fb4...
coloring/nonsymmetric/bidirectional/direct/n=1000/p=0.002 1.92 ± 0.012 ms 1.93 ± 0.013 ms 0.997
coloring/nonsymmetric/bidirectional/direct/n=1000/p=0.005 4.4 ± 0.032 ms 4.4 ± 0.031 ms 1
coloring/nonsymmetric/bidirectional/direct/n=1000/p=0.01 9.93 ± 0.084 ms 9.86 ± 0.068 ms 1.01
coloring/nonsymmetric/bidirectional/direct/n=100000/p=0.0001 2.27 ± 0.048 s 2.3 ± 0.036 s 0.989
coloring/nonsymmetric/bidirectional/direct/n=100000/p=2.0e-5 0.298 ± 0.016 s 0.302 ± 0.0071 s 0.989
coloring/nonsymmetric/bidirectional/direct/n=100000/p=5.0e-5 0.876 ± 0.01 s 0.882 ± 0.031 s 0.993
coloring/nonsymmetric/bidirectional/substitution/n=1000/p=0.002 6.04 ± 1.2 ms 5.36 ± 1.1 ms 1.13
coloring/nonsymmetric/bidirectional/substitution/n=1000/p=0.005 14.1 ± 0.81 ms 13.2 ± 0.87 ms 1.07
coloring/nonsymmetric/bidirectional/substitution/n=1000/p=0.01 31.3 ± 1.1 ms 29.6 ± 0.27 ms 1.06
coloring/nonsymmetric/bidirectional/substitution/n=100000/p=0.0001 7.05 s 6.94 s 1.02
coloring/nonsymmetric/bidirectional/substitution/n=100000/p=2.0e-5 0.996 ± 0.047 s 0.849 ± 0.015 s 1.17
coloring/nonsymmetric/bidirectional/substitution/n=100000/p=5.0e-5 2.98 ± 0.21 s 2.76 ± 0.069 s 1.08
coloring/nonsymmetric/column/direct/n=1000/p=0.002 0.486 ± 0.011 ms 0.49 ± 0.011 ms 0.993
coloring/nonsymmetric/column/direct/n=1000/p=0.005 1.2 ± 0.015 ms 1.21 ± 0.01 ms 0.995
coloring/nonsymmetric/column/direct/n=1000/p=0.01 3.03 ± 0.32 ms 3.31 ± 0.33 ms 0.914
coloring/nonsymmetric/column/direct/n=100000/p=0.0001 0.528 ± 0.016 s 0.535 ± 0.013 s 0.988
coloring/nonsymmetric/column/direct/n=100000/p=2.0e-5 0.0811 ± 0.00059 s 0.082 ± 0.0021 s 0.988
coloring/nonsymmetric/column/direct/n=100000/p=5.0e-5 0.205 ± 0.0024 s 0.206 ± 0.0028 s 0.994
coloring/nonsymmetric/row/direct/n=1000/p=0.002 0.483 ± 0.011 ms 0.481 ± 0.01 ms 1
coloring/nonsymmetric/row/direct/n=1000/p=0.005 1.21 ± 0.013 ms 1.21 ± 0.01 ms 0.999
coloring/nonsymmetric/row/direct/n=1000/p=0.01 3.06 ± 0.016 ms 3.07 ± 0.017 ms 0.999
coloring/nonsymmetric/row/direct/n=100000/p=0.0001 0.539 ± 0.016 s 0.546 ± 0.0047 s 0.986
coloring/nonsymmetric/row/direct/n=100000/p=2.0e-5 0.082 ± 0.001 s 0.0829 ± 0.00098 s 0.989
coloring/nonsymmetric/row/direct/n=100000/p=5.0e-5 0.205 ± 0.0029 s 0.212 ± 0.0025 s 0.966
coloring/symmetric/column/direct/n=1000/p=0.002 1.02 ± 0.0099 ms 1.02 ± 0.0079 ms 1.01
coloring/symmetric/column/direct/n=1000/p=0.005 2.27 ± 0.019 ms 2.26 ± 0.013 ms 1
coloring/symmetric/column/direct/n=1000/p=0.01 4.93 ± 0.03 ms 4.9 ± 0.028 ms 1.01
coloring/symmetric/column/direct/n=100000/p=0.0001 0.817 ± 0.019 s 0.852 ± 0.027 s 0.959
coloring/symmetric/column/direct/n=100000/p=2.0e-5 0.146 ± 0.00078 s 0.145 ± 0.0015 s 1
coloring/symmetric/column/direct/n=100000/p=5.0e-5 0.334 ± 0.0061 s 0.345 ± 0.0082 s 0.969
coloring/symmetric/column/substitution/n=1000/p=0.002 3.15 ± 0.24 ms 2.84 ± 0.73 ms 1.11
coloring/symmetric/column/substitution/n=1000/p=0.005 7.55 ± 0.69 ms 6.69 ± 0.1 ms 1.13
coloring/symmetric/column/substitution/n=1000/p=0.01 15.8 ± 0.5 ms 14.7 ± 0.14 ms 1.08
coloring/symmetric/column/substitution/n=100000/p=0.0001 3.18 ± 0.13 s 2.99 ± 0.0043 s 1.07
coloring/symmetric/column/substitution/n=100000/p=2.0e-5 0.446 ± 0.027 s 0.405 ± 0.018 s 1.1
coloring/symmetric/column/substitution/n=100000/p=5.0e-5 1.24 ± 0.1 s 1.18 ± 0.057 s 1.06
decompress/nonsymmetric/bidirectional/direct/n=1000/p=0.002 0.143 ± 0.004 ms 0.145 ± 0.004 ms 0.986
decompress/nonsymmetric/bidirectional/direct/n=1000/p=0.005 0.23 ± 0.0091 ms 0.234 ± 0.0087 ms 0.985
decompress/nonsymmetric/bidirectional/direct/n=1000/p=0.01 0.375 ± 0.011 ms 0.374 ± 0.013 ms 1
decompress/nonsymmetric/bidirectional/direct/n=100000/p=0.0001 0.0934 ± 0.0027 s 0.0957 ± 0.0038 s 0.976
decompress/nonsymmetric/bidirectional/direct/n=100000/p=2.0e-5 31.5 ± 0.86 ms 0.0342 ± 0.0017 s 0.922
decompress/nonsymmetric/bidirectional/direct/n=100000/p=5.0e-5 0.0577 ± 0.00088 s 0.0629 ± 0.00077 s 0.918
decompress/nonsymmetric/bidirectional/substitution/n=1000/p=0.002 0.159 ± 0.0065 ms 0.152 ± 0.0064 ms 1.05
decompress/nonsymmetric/bidirectional/substitution/n=1000/p=0.005 0.312 ± 0.01 ms 0.317 ± 0.01 ms 0.985
decompress/nonsymmetric/bidirectional/substitution/n=1000/p=0.01 0.61 ± 0.015 ms 0.628 ± 0.013 ms 0.971
decompress/nonsymmetric/bidirectional/substitution/n=100000/p=0.0001 0.197 ± 0.0046 s 0.198 ± 0.0063 s 0.997
decompress/nonsymmetric/bidirectional/substitution/n=100000/p=2.0e-5 0.0368 ± 0.00085 s 0.0354 ± 0.0008 s 1.04
decompress/nonsymmetric/bidirectional/substitution/n=100000/p=5.0e-5 0.0928 ± 0.013 s 0.0806 ± 0.0023 s 1.15
decompress/nonsymmetric/column/direct/n=1000/p=0.002 26.4 ± 1.3 μs 27.8 ± 1.1 μs 0.947
decompress/nonsymmetric/column/direct/n=1000/p=0.005 0.05 ± 0.0018 ms 0.0511 ± 0.0016 ms 0.979
decompress/nonsymmetric/column/direct/n=1000/p=0.01 0.0907 ± 0.004 ms 0.0901 ± 0.0035 ms 1.01
decompress/nonsymmetric/column/direct/n=100000/p=0.0001 26.7 ± 1.7 ms 27.9 ± 0.73 ms 0.955
decompress/nonsymmetric/column/direct/n=100000/p=2.0e-5 4.84 ± 0.53 ms 4.94 ± 0.28 ms 0.98
decompress/nonsymmetric/column/direct/n=100000/p=5.0e-5 12.6 ± 0.35 ms 12.9 ± 0.42 ms 0.982
decompress/nonsymmetric/row/direct/n=1000/p=0.002 24.1 ± 1.5 μs 26 ± 1.2 μs 0.928
decompress/nonsymmetric/row/direct/n=1000/p=0.005 0.0429 ± 0.0016 ms 0.0458 ± 0.0032 ms 0.937
decompress/nonsymmetric/row/direct/n=1000/p=0.01 0.0775 ± 0.0034 ms 0.079 ± 0.0032 ms 0.981
decompress/nonsymmetric/row/direct/n=100000/p=0.0001 11.6 ± 2.1 ms 12.2 ± 0.62 ms 0.957
decompress/nonsymmetric/row/direct/n=100000/p=2.0e-5 3.28 ± 0.16 ms 3.37 ± 0.18 ms 0.975
decompress/nonsymmetric/row/direct/n=100000/p=5.0e-5 6.04 ± 0.22 ms 6.21 ± 0.2 ms 0.972
decompress/symmetric/column/direct/n=1000/p=0.002 24.4 ± 1.3 μs 26.9 ± 1.3 μs 0.905
decompress/symmetric/column/direct/n=1000/p=0.005 0.0458 ± 0.0017 ms 0.0497 ± 0.0021 ms 0.922
decompress/symmetric/column/direct/n=1000/p=0.01 0.0831 ± 0.0033 ms 0.0884 ± 0.0039 ms 0.94
decompress/symmetric/column/direct/n=100000/p=0.0001 21.1 ± 1.8 ms 24.4 ± 0.83 ms 0.865
decompress/symmetric/column/direct/n=100000/p=2.0e-5 3.81 ± 0.37 ms 4.5 ± 0.45 ms 0.847
decompress/symmetric/column/direct/n=100000/p=5.0e-5 10.4 ± 0.38 ms 11.9 ± 0.49 ms 0.871
decompress/symmetric/column/substitution/n=1000/p=0.002 0.105 ± 0.0025 ms 0.0945 ± 0.0053 ms 1.11
decompress/symmetric/column/substitution/n=1000/p=0.005 0.195 ± 0.0075 ms 0.179 ± 0.009 ms 1.09
decompress/symmetric/column/substitution/n=1000/p=0.01 0.383 ± 0.014 ms 0.354 ± 0.011 ms 1.08
decompress/symmetric/column/substitution/n=100000/p=0.0001 0.0947 ± 0.0031 s 0.0989 ± 0.0027 s 0.957
decompress/symmetric/column/substitution/n=100000/p=2.0e-5 25 ± 0.35 ms 24.7 ± 0.22 ms 1.01
decompress/symmetric/column/substitution/n=100000/p=5.0e-5 0.0475 ± 0.00066 s 0.0501 ± 0.0007 s 0.947
time_to_load 0.219 ± 0.00088 s 0.218 ± 0.00099 s 1.01
main 6739849... main/67398491447fb4...
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.0512 M allocs: 6.36 MB 0.0449 M allocs: 5.23 MB 1.22
coloring/nonsymmetric/bidirectional/substitution/n=1000/p=0.005 0.0978 M allocs: 11.4 MB 0.0892 M allocs: 9.71 MB 1.18
coloring/nonsymmetric/bidirectional/substitution/n=1000/p=0.01 0.187 M allocs: 21.8 MB 0.172 M allocs: 18.4 MB 1.18
coloring/nonsymmetric/bidirectional/substitution/n=100000/p=0.0001 17.9 M allocs: 2.03 GB 16.6 M allocs: 1.74 GB 1.17
coloring/nonsymmetric/bidirectional/substitution/n=100000/p=2.0e-5 4.93 M allocs: 0.585 GB 4.32 M allocs: 0.498 GB 1.17
coloring/nonsymmetric/bidirectional/substitution/n=100000/p=5.0e-5 9.54 M allocs: 1.13 GB 8.74 M allocs: 0.964 GB 1.17
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 25.5 k allocs: 2.68 MB 22.4 k allocs: 2.17 MB 1.24
coloring/symmetric/column/substitution/n=1000/p=0.005 0.0492 M allocs: 4.95 MB 0.0448 M allocs: 4.09 MB 1.21
coloring/symmetric/column/substitution/n=1000/p=0.01 0.0937 M allocs: 9.72 MB 0.0862 M allocs: 7.86 MB 1.24
coloring/symmetric/column/substitution/n=100000/p=0.0001 8.95 M allocs: 0.887 GB 8.31 M allocs: 0.74 GB 1.2
coloring/symmetric/column/substitution/n=100000/p=2.0e-5 2.47 M allocs: 0.246 GB 2.16 M allocs: 0.203 GB 1.21
coloring/symmetric/column/substitution/n=100000/p=5.0e-5 4.77 M allocs: 0.49 GB 4.37 M allocs: 0.407 GB 1.2
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 amontoison removed the benchmark Run benchmarks on PR label Apr 3, 2025
Copy link
Copy Markdown
Member

@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 think we can use this opportunity to remove one more big alloc


# reverse_bfs_orders contains the reverse breadth first (BFS) traversal order for each tree in the forest
for k in 1:nt
tree = trees[k]
Copy link
Copy Markdown
Member

@gdalle gdalle Apr 4, 2025

Choose a reason for hiding this comment

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

This is the only place where trees is actually used. Right now it is one dictionary per tree, which is still rather wasteful and probably accounts for a large percentage of our allocs. Can we figure out a way to get rid of this too?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

On second thought, let's do it in a separate PR, since this one works

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I started to work on it and it is not a simple task.

@gdalle gdalle merged commit ee8bb7a into main Apr 4, 2025
6 checks passed
@gdalle gdalle deleted the acyclic_tree branch April 4, 2025 11:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

performance Speeding things up

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants