Commit 1ea46f9
perf: cache jQuery wrappers for the two persistent containers
Phase 3/3 of the optimization pass. Runtime perf cleanup; specs still pass.
- Add this.$container and this.$noSuggestionsContainer fields, set once
during initialize(). Replace ~12 call sites that re-invoked
$(this.suggestionsContainer) / $(this.noSuggestionsContainer) every time
they needed the wrapper.
- noSuggestions(): chain empty().append(...) since they're now both on the
cached wrapper.
- adjustContainerWidth(): drop the local `container` variable since both
branches just hit this.$container directly.
Bundle size flat (12943 -> 12960). The field declarations and assignments
offset the call-site savings byte-for-byte. The win is runtime: each hot
path (suggest, fixPosition, adjustScroll, hide, activate) no longer
creates a fresh jQuery wrapper on every call.
Brief experiment with target: es2022 in scripts/build.mjs revealed almost
no size win, so reverted to es2020 for wider evergreen coverage.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 22ee4aa commit 1ea46f9
5 files changed
Lines changed: 77 additions & 78 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
| 24 | + | |
23 | 25 | | |
24 | 26 | | |
25 | 27 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
121 | 121 | | |
122 | 122 | | |
123 | 123 | | |
124 | | - | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
125 | 128 | | |
126 | | - | |
127 | | - | |
| 129 | + | |
| 130 | + | |
128 | 131 | | |
129 | | - | |
| 132 | + | |
130 | 133 | | |
| 134 | + | |
131 | 135 | | |
132 | 136 | | |
133 | 137 | | |
| |||
188 | 192 | | |
189 | 193 | | |
190 | 194 | | |
191 | | - | |
| 195 | + | |
192 | 196 | | |
193 | 197 | | |
194 | 198 | | |
| |||
215 | 219 | | |
216 | 220 | | |
217 | 221 | | |
218 | | - | |
| 222 | + | |
219 | 223 | | |
220 | 224 | | |
221 | 225 | | |
| |||
442 | 446 | | |
443 | 447 | | |
444 | 448 | | |
445 | | - | |
446 | 449 | | |
447 | | - | |
| 450 | + | |
448 | 451 | | |
449 | 452 | | |
450 | 453 | | |
451 | 454 | | |
452 | 455 | | |
453 | 456 | | |
454 | | - | |
| 457 | + | |
455 | 458 | | |
456 | 459 | | |
457 | 460 | | |
| |||
468 | 471 | | |
469 | 472 | | |
470 | 473 | | |
471 | | - | |
472 | | - | |
| 474 | + | |
473 | 475 | | |
474 | 476 | | |
475 | 477 | | |
| |||
488 | 490 | | |
489 | 491 | | |
490 | 492 | | |
491 | | - | |
| 493 | + | |
492 | 494 | | |
493 | 495 | | |
494 | 496 | | |
| |||
503 | 505 | | |
504 | 506 | | |
505 | 507 | | |
506 | | - | |
507 | | - | |
| 508 | + | |
508 | 509 | | |
509 | | - | |
510 | | - | |
511 | | - | |
| 510 | + | |
| 511 | + | |
512 | 512 | | |
513 | 513 | | |
514 | 514 | | |
515 | 515 | | |
516 | 516 | | |
517 | 517 | | |
518 | 518 | | |
519 | | - | |
520 | 519 | | |
521 | 520 | | |
522 | | - | |
| 521 | + | |
523 | 522 | | |
524 | | - | |
| 523 | + | |
525 | 524 | | |
526 | 525 | | |
527 | 526 | | |
| |||
571 | 570 | | |
572 | 571 | | |
573 | 572 | | |
574 | | - | |
| 573 | + | |
575 | 574 | | |
576 | 575 | | |
577 | 576 | | |
| |||
594 | 593 | | |
595 | 594 | | |
596 | 595 | | |
597 | | - | |
| 596 | + | |
598 | 597 | | |
599 | 598 | | |
600 | 599 | | |
| |||
616 | 615 | | |
617 | 616 | | |
618 | 617 | | |
619 | | - | |
| 618 | + | |
620 | 619 | | |
621 | 620 | | |
622 | 621 | | |
| |||
659 | 658 | | |
660 | 659 | | |
661 | 660 | | |
662 | | - | |
| 661 | + | |
663 | 662 | | |
664 | 663 | | |
665 | 664 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
129 | 129 | | |
130 | 130 | | |
131 | 131 | | |
132 | | - | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
133 | 136 | | |
134 | | - | |
135 | | - | |
| 137 | + | |
| 138 | + | |
136 | 139 | | |
137 | | - | |
| 140 | + | |
138 | 141 | | |
| 142 | + | |
139 | 143 | | |
140 | 144 | | |
141 | 145 | | |
| |||
196 | 200 | | |
197 | 201 | | |
198 | 202 | | |
199 | | - | |
| 203 | + | |
200 | 204 | | |
201 | 205 | | |
202 | 206 | | |
| |||
223 | 227 | | |
224 | 228 | | |
225 | 229 | | |
226 | | - | |
| 230 | + | |
227 | 231 | | |
228 | 232 | | |
229 | 233 | | |
| |||
450 | 454 | | |
451 | 455 | | |
452 | 456 | | |
453 | | - | |
454 | 457 | | |
455 | | - | |
| 458 | + | |
456 | 459 | | |
457 | 460 | | |
458 | 461 | | |
459 | 462 | | |
460 | 463 | | |
461 | 464 | | |
462 | | - | |
| 465 | + | |
463 | 466 | | |
464 | 467 | | |
465 | 468 | | |
| |||
476 | 479 | | |
477 | 480 | | |
478 | 481 | | |
479 | | - | |
480 | | - | |
| 482 | + | |
481 | 483 | | |
482 | 484 | | |
483 | 485 | | |
| |||
496 | 498 | | |
497 | 499 | | |
498 | 500 | | |
499 | | - | |
| 501 | + | |
500 | 502 | | |
501 | 503 | | |
502 | 504 | | |
| |||
511 | 513 | | |
512 | 514 | | |
513 | 515 | | |
514 | | - | |
515 | | - | |
| 516 | + | |
516 | 517 | | |
517 | | - | |
518 | | - | |
519 | | - | |
| 518 | + | |
| 519 | + | |
520 | 520 | | |
521 | 521 | | |
522 | 522 | | |
523 | 523 | | |
524 | 524 | | |
525 | 525 | | |
526 | 526 | | |
527 | | - | |
528 | 527 | | |
529 | 528 | | |
530 | | - | |
| 529 | + | |
531 | 530 | | |
532 | | - | |
| 531 | + | |
533 | 532 | | |
534 | 533 | | |
535 | 534 | | |
| |||
579 | 578 | | |
580 | 579 | | |
581 | 580 | | |
582 | | - | |
| 581 | + | |
583 | 582 | | |
584 | 583 | | |
585 | 584 | | |
| |||
602 | 601 | | |
603 | 602 | | |
604 | 603 | | |
605 | | - | |
| 604 | + | |
606 | 605 | | |
607 | 606 | | |
608 | 607 | | |
| |||
624 | 623 | | |
625 | 624 | | |
626 | 625 | | |
627 | | - | |
| 626 | + | |
628 | 627 | | |
629 | 628 | | |
630 | 629 | | |
| |||
667 | 666 | | |
668 | 667 | | |
669 | 668 | | |
670 | | - | |
| 669 | + | |
671 | 670 | | |
672 | 671 | | |
673 | 672 | | |
| |||
0 commit comments