Commit 3ee27a6
perf: optimize processor pipeline to avoid redundant reprocessing
Modify picker event handlers to restart only the affected processor instead
of restarting from the matcher. When sorter changes, restart sort processor
with matcher output. When renderer changes, restart render processor with
sorter output. This avoids redundant matching operations.
Also implement copy-on-write for sort processor to prevent modifying the
input array, ensuring pipeline integrity.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>1 parent 3196dfb commit 3ee27a6
3 files changed
+32
-36
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
559 | 559 | | |
560 | 560 | | |
561 | 561 | | |
562 | | - | |
563 | | - | |
564 | | - | |
565 | | - | |
566 | | - | |
567 | | - | |
568 | | - | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
569 | 565 | | |
570 | 566 | | |
571 | 567 | | |
| |||
574 | 570 | | |
575 | 571 | | |
576 | 572 | | |
577 | | - | |
578 | | - | |
579 | | - | |
580 | | - | |
581 | | - | |
582 | | - | |
583 | | - | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
584 | 576 | | |
585 | 577 | | |
586 | 578 | | |
| |||
596 | 588 | | |
597 | 589 | | |
598 | 590 | | |
599 | | - | |
600 | | - | |
601 | | - | |
602 | | - | |
603 | | - | |
604 | | - | |
605 | | - | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
606 | 594 | | |
607 | 595 | | |
608 | 596 | | |
| |||
611 | 599 | | |
612 | 600 | | |
613 | 601 | | |
614 | | - | |
615 | | - | |
616 | | - | |
617 | | - | |
618 | | - | |
619 | | - | |
620 | | - | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
621 | 605 | | |
622 | 606 | | |
623 | 607 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
62 | | - | |
| 62 | + | |
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
73 | 76 | | |
74 | 77 | | |
75 | | - | |
| 78 | + | |
76 | 79 | | |
77 | 80 | | |
78 | 81 | | |
79 | 82 | | |
80 | | - | |
| 83 | + | |
81 | 84 | | |
82 | 85 | | |
83 | 86 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
123 | | - | |
| 123 | + | |
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
| |||
133 | 133 | | |
134 | 134 | | |
135 | 135 | | |
136 | | - | |
137 | | - | |
| 136 | + | |
| 137 | + | |
138 | 138 | | |
139 | | - | |
| 139 | + | |
| 140 | + | |
140 | 141 | | |
141 | 142 | | |
142 | 143 | | |
| |||
145 | 146 | | |
146 | 147 | | |
147 | 148 | | |
148 | | - | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
149 | 158 | | |
150 | 159 | | |
151 | 160 | | |
| |||
0 commit comments