Repository navigation
Keep summed chains in one row with their feeders tucked under - #254
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #254 +/- ##
==========================================
+ Coverage 98.29% 98.31% +0.01%
==========================================
Files 105 106 +1
Lines 31104 31168 +64
==========================================
+ Hits 30575 30642 +67
+ Misses 529 526 -3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Merging this PR will improve performance by 38.14%
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| ⚡ | test_arrange_decoder_4bit[sugiyama] |
5.3 s | 3.5 s | +51.16% |
| ⚡ | test_arrange_math_expression |
2.4 s | 1.8 s | +35.41% |
| ⚡ | test_arrange_decoder_4bit[simple] |
1.7 s | 1.3 s | +28.78% |
Tip
Curious why performance improved? Comment @codspeedbot explain why performance improved on this PR, or directly use the CodSpeed MCP with your agent.
Comparing layout-feeder-rows (fd378ef) with main (3f0481c)1
Footnotes
Hashing the Socket dataclass was most of the cost of each candidate move. Layouts are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7bfc58b to
fd378ef
Compare
* Count sockets by number when balancing column heights Hashing the Socket dataclass was most of the cost of each candidate move. Layouts are unchanged. * Keep summed chains in one row with their feeders tucked under
Chains summed through a node's first input (e.g. the Add chains in MolecularNodes' Composite ID Outline / Cone Shadow, BradyAJohnston/MolecularNodes#1240) were laid out as a staircase, with all the feeders piled into the first columns.
placement.py: when a node has two median predecessors, align with the one across the heavier link first, so a Float-only chain stays one row in all four BK runs.feeders.py(new): a node whose links out all go to one node of its frame is moved to the column just before that node (move_feeders_right), placed next to the other node of that column feeding the same node (tuck_feeders), and pulled against it after placement (pull_up_feeders).Corpus snapshots updated; new
summed_samplescase and tests for it andvalue_chain. Net corpus cost goes up (more long links, e.g. Scatter on Surface crossings 241 -> 300), and the steps also run under"simple". To review more broadly before merging.Before (main) above, after below:
Essentials
Images live on the
pr-images/layout-feeder-rowsbranch; delete it after merging.