Commit b28e50b
committed
Refactored working with built-in strings, symbols and small integers.
- Implemented atom IDs for strings, symbols and small numbers, enabling
equality checks via ID comparison
- Optimized string operations for faster property lookups and comparisons
- Removed short string inlining from njs_value_t structure
Performance improvements (arewefastyet/benchmarks/v8-v7 benchmark):
- Richards: +57% (631 → 989)
- Crypto: +7% (1445 → 1551)
- RayTrace: +37% (562 → 772)
- NavierStokes: +20% (2062 → 2465)
- Overall score: +29% (1014 → 1307)
In collaboration with Dmitry Volyntsev.1 parent 6a08264 commit b28e50b
70 files changed
Lines changed: 4704 additions & 5258 deletions
File tree
- auto
- external
- nginx
- src
- test
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
25 | | - | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
362 | 362 | | |
363 | 363 | | |
364 | 364 | | |
365 | | - | |
| 365 | + | |
366 | 366 | | |
367 | 367 | | |
368 | 368 | | |
| |||
526 | 526 | | |
527 | 527 | | |
528 | 528 | | |
529 | | - | |
| 529 | + | |
530 | 530 | | |
531 | 531 | | |
532 | 532 | | |
| |||
589 | 589 | | |
590 | 590 | | |
591 | 591 | | |
592 | | - | |
| 592 | + | |
593 | 593 | | |
594 | 594 | | |
595 | 595 | | |
| |||
618 | 618 | | |
619 | 619 | | |
620 | 620 | | |
621 | | - | |
| 621 | + | |
622 | 622 | | |
623 | 623 | | |
624 | 624 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
183 | | - | |
| 183 | + | |
| 184 | + | |
184 | 185 | | |
185 | 186 | | |
186 | 187 | | |
| |||
190 | 191 | | |
191 | 192 | | |
192 | 193 | | |
193 | | - | |
| 194 | + | |
| 195 | + | |
194 | 196 | | |
195 | 197 | | |
196 | 198 | | |
| |||
1966 | 1968 | | |
1967 | 1969 | | |
1968 | 1970 | | |
1969 | | - | |
| 1971 | + | |
1970 | 1972 | | |
1971 | 1973 | | |
1972 | 1974 | | |
| |||
2111 | 2113 | | |
2112 | 2114 | | |
2113 | 2115 | | |
2114 | | - | |
| 2116 | + | |
2115 | 2117 | | |
2116 | 2118 | | |
2117 | 2119 | | |
| |||
2203 | 2205 | | |
2204 | 2206 | | |
2205 | 2207 | | |
2206 | | - | |
| 2208 | + | |
2207 | 2209 | | |
2208 | 2210 | | |
2209 | 2211 | | |
| |||
2610 | 2612 | | |
2611 | 2613 | | |
2612 | 2614 | | |
2613 | | - | |
| 2615 | + | |
2614 | 2616 | | |
2615 | 2617 | | |
2616 | 2618 | | |
| |||
2790 | 2792 | | |
2791 | 2793 | | |
2792 | 2794 | | |
2793 | | - | |
| 2795 | + | |
2794 | 2796 | | |
2795 | 2797 | | |
2796 | 2798 | | |
| |||
3213 | 3215 | | |
3214 | 3216 | | |
3215 | 3217 | | |
3216 | | - | |
| 3218 | + | |
3217 | 3219 | | |
3218 | 3220 | | |
3219 | 3221 | | |
| |||
3261 | 3263 | | |
3262 | 3264 | | |
3263 | 3265 | | |
3264 | | - | |
| 3266 | + | |
3265 | 3267 | | |
3266 | 3268 | | |
3267 | 3269 | | |
| |||
3651 | 3653 | | |
3652 | 3654 | | |
3653 | 3655 | | |
3654 | | - | |
3655 | | - | |
| 3656 | + | |
| 3657 | + | |
3656 | 3658 | | |
3657 | 3659 | | |
3658 | 3660 | | |
| |||
3870 | 3872 | | |
3871 | 3873 | | |
3872 | 3874 | | |
3873 | | - | |
3874 | | - | |
| 3875 | + | |
| 3876 | + | |
3875 | 3877 | | |
3876 | 3878 | | |
3877 | 3879 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
294 | 294 | | |
295 | 295 | | |
296 | 296 | | |
297 | | - | |
298 | | - | |
| 297 | + | |
| 298 | + | |
299 | 299 | | |
300 | 300 | | |
301 | 301 | | |
| |||
331 | 331 | | |
332 | 332 | | |
333 | 333 | | |
334 | | - | |
335 | | - | |
| 334 | + | |
| 335 | + | |
336 | 336 | | |
337 | 337 | | |
338 | 338 | | |
| |||
383 | 383 | | |
384 | 384 | | |
385 | 385 | | |
386 | | - | |
| 386 | + | |
387 | 387 | | |
388 | 388 | | |
389 | 389 | | |
| |||
399 | 399 | | |
400 | 400 | | |
401 | 401 | | |
402 | | - | |
403 | | - | |
| 402 | + | |
| 403 | + | |
404 | 404 | | |
405 | 405 | | |
406 | 406 | | |
| |||
411 | 411 | | |
412 | 412 | | |
413 | 413 | | |
414 | | - | |
415 | | - | |
| 414 | + | |
| 415 | + | |
416 | 416 | | |
417 | 417 | | |
418 | 418 | | |
| |||
614 | 614 | | |
615 | 615 | | |
616 | 616 | | |
617 | | - | |
| 617 | + | |
618 | 618 | | |
619 | 619 | | |
620 | 620 | | |
| |||
631 | 631 | | |
632 | 632 | | |
633 | 633 | | |
634 | | - | |
| 634 | + | |
635 | 635 | | |
636 | 636 | | |
637 | 637 | | |
| |||
705 | 705 | | |
706 | 706 | | |
707 | 707 | | |
708 | | - | |
709 | | - | |
| 708 | + | |
| 709 | + | |
710 | 710 | | |
711 | 711 | | |
712 | 712 | | |
| |||
717 | 717 | | |
718 | 718 | | |
719 | 719 | | |
720 | | - | |
721 | | - | |
| 720 | + | |
| 721 | + | |
722 | 722 | | |
723 | 723 | | |
724 | 724 | | |
| |||
764 | 764 | | |
765 | 765 | | |
766 | 766 | | |
767 | | - | |
768 | | - | |
| 767 | + | |
| 768 | + | |
769 | 769 | | |
770 | 770 | | |
771 | 771 | | |
| |||
775 | 775 | | |
776 | 776 | | |
777 | 777 | | |
778 | | - | |
779 | | - | |
780 | | - | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
781 | 781 | | |
782 | 782 | | |
783 | 783 | | |
| |||
839 | 839 | | |
840 | 840 | | |
841 | 841 | | |
842 | | - | |
| 842 | + | |
843 | 843 | | |
844 | 844 | | |
845 | 845 | | |
| |||
876 | 876 | | |
877 | 877 | | |
878 | 878 | | |
879 | | - | |
| 879 | + | |
880 | 880 | | |
881 | 881 | | |
882 | 882 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1585 | 1585 | | |
1586 | 1586 | | |
1587 | 1587 | | |
1588 | | - | |
1589 | | - | |
| 1588 | + | |
| 1589 | + | |
| 1590 | + | |
1590 | 1591 | | |
1591 | 1592 | | |
1592 | 1593 | | |
| |||
3664 | 3665 | | |
3665 | 3666 | | |
3666 | 3667 | | |
3667 | | - | |
| 3668 | + | |
3668 | 3669 | | |
3669 | 3670 | | |
3670 | 3671 | | |
3671 | | - | |
| 3672 | + | |
3672 | 3673 | | |
3673 | 3674 | | |
3674 | 3675 | | |
| |||
3713 | 3714 | | |
3714 | 3715 | | |
3715 | 3716 | | |
3716 | | - | |
| 3717 | + | |
3717 | 3718 | | |
3718 | 3719 | | |
3719 | 3720 | | |
3720 | | - | |
| 3721 | + | |
3721 | 3722 | | |
3722 | 3723 | | |
3723 | 3724 | | |
| |||
0 commit comments