Commit b049dfc
authored
perf(ext/web): optimize TextEncoder encodeInto result (#34055)
Optimizes `TextEncoder.encodeInto()` by returning the common `read` /
`written` result as a packed number from the op, instead of writing
those two counters through the shared `Uint32Array` out-buffer on every
call.
For very large results that cannot be represented exactly in the packed
number format, the implementation falls back to the previous out-buffer
path.
This is roughly a 12% improvement in the short-string encodeInto path.1 parent 2cd5aac commit b049dfc
2 files changed
Lines changed: 66 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
| 32 | + | |
31 | 33 | | |
32 | 34 | | |
33 | 35 | | |
| |||
298 | 300 | | |
299 | 301 | | |
300 | 302 | | |
301 | | - | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
302 | 312 | | |
303 | | - | |
304 | | - | |
| 313 | + | |
| 314 | + | |
305 | 315 | | |
306 | 316 | | |
307 | 317 | | |
| |||
319 | 329 | | |
320 | 330 | | |
321 | 331 | | |
| 332 | + | |
| 333 | + | |
322 | 334 | | |
323 | 335 | | |
324 | 336 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| 80 | + | |
80 | 81 | | |
81 | 82 | | |
82 | 83 | | |
| |||
682 | 683 | | |
683 | 684 | | |
684 | 685 | | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
685 | 697 | | |
686 | 698 | | |
687 | 699 | | |
688 | 700 | | |
689 | 701 | | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
690 | 729 | | |
691 | 730 | | |
692 | 731 | | |
| |||
707 | 746 | | |
708 | 747 | | |
709 | 748 | | |
710 | | - | |
711 | | - | |
| 749 | + | |
712 | 750 | | |
713 | 751 | | |
714 | 752 | | |
| |||
730 | 768 | | |
731 | 769 | | |
732 | 770 | | |
733 | | - | |
734 | | - | |
735 | 771 | | |
736 | | - | |
| 772 | + | |
737 | 773 | | |
738 | 774 | | |
739 | | - | |
740 | | - | |
| 775 | + | |
| 776 | + | |
741 | 777 | | |
742 | | - | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
743 | 786 | | |
744 | 787 | | |
745 | 788 | | |
0 commit comments