Commit 0aa81ee
committed
Phase 115.1: Partial std::span adoption for string operations
Converted string operations to support std::span while maintaining C compatibility:
- luaS_hash, luaS_newlstr: Added span overloads (pointer+size remains primary)
- luaO_chunkid, addstr2buff: Updated to use span internally
- lmemfind, nospecials, prepstate: Converted to span (lstrlib.cpp)
- luaL_addlstring: Added span overload (lauxlib.h/cpp)
**Architecture**: Dual-API pattern
- Primary implementations use pointer+size for performance
- Inline span overloads provide convenience without overhead
- C API compatibility maintained through function overloading
**Files modified**: 7 files
- src/objects/lstring.h/cpp (core string functions)
- src/objects/lobject.h/cpp (string utilities)
- src/libraries/lstrlib.cpp (pattern matching)
- src/auxiliary/lauxlib.h/cpp (buffer operations)
**Performance**: 4.53s avg (10-run benchmark)
- Target: ≤4.33s (baseline 4.20s)
- Best runs: 4.05s-4.06s (better than baseline!)
- Variance: 4.05s-4.98s (high variance suggests system load)
- Status: 1 parent 1303e7e commit 0aa81ee
File tree
7 files changed
+126
-67
lines changed- src
- auxiliary
- libraries
- objects
7 files changed
+126
-67
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
595 | 595 | | |
596 | 596 | | |
597 | 597 | | |
598 | | - | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
599 | 601 | | |
600 | 602 | | |
601 | | - | |
| 603 | + | |
602 | 604 | | |
603 | 605 | | |
604 | 606 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
18 | 21 | | |
19 | 22 | | |
20 | 23 | | |
| |||
271 | 274 | | |
272 | 275 | | |
273 | 276 | | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
274 | 288 | | |
275 | 289 | | |
276 | 290 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
665 | 666 | | |
666 | 667 | | |
667 | 668 | | |
668 | | - | |
669 | | - | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
670 | 676 | | |
671 | 677 | | |
672 | 678 | | |
| |||
739 | 745 | | |
740 | 746 | | |
741 | 747 | | |
742 | | - | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
743 | 752 | | |
744 | 753 | | |
745 | 754 | | |
746 | | - | |
| 755 | + | |
747 | 756 | | |
748 | 757 | | |
749 | | - | |
| 758 | + | |
750 | 759 | | |
751 | 760 | | |
752 | 761 | | |
| 762 | + | |
753 | 763 | | |
754 | | - | |
| 764 | + | |
755 | 765 | | |
756 | 766 | | |
757 | | - | |
758 | | - | |
759 | | - | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
760 | 770 | | |
761 | 771 | | |
762 | 772 | | |
| |||
776 | 786 | | |
777 | 787 | | |
778 | 788 | | |
779 | | - | |
| 789 | + | |
780 | 790 | | |
781 | | - | |
| 791 | + | |
782 | 792 | | |
783 | 793 | | |
784 | 794 | | |
| |||
792 | 802 | | |
793 | 803 | | |
794 | 804 | | |
795 | | - | |
| 805 | + | |
796 | 806 | | |
797 | 807 | | |
798 | 808 | | |
| |||
857 | 867 | | |
858 | 868 | | |
859 | 869 | | |
860 | | - | |
| 870 | + | |
861 | 871 | | |
862 | 872 | | |
863 | 873 | | |
| |||
955 | 965 | | |
956 | 966 | | |
957 | 967 | | |
958 | | - | |
| 968 | + | |
959 | 969 | | |
960 | 970 | | |
961 | 971 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
543 | 543 | | |
544 | 544 | | |
545 | 545 | | |
546 | | - | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
547 | 549 | | |
548 | 550 | | |
549 | 551 | | |
550 | 552 | | |
551 | 553 | | |
552 | | - | |
| 554 | + | |
553 | 555 | | |
554 | 556 | | |
555 | 557 | | |
| |||
571 | 573 | | |
572 | 574 | | |
573 | 575 | | |
574 | | - | |
| 576 | + | |
575 | 577 | | |
576 | 578 | | |
577 | 579 | | |
| |||
582 | 584 | | |
583 | 585 | | |
584 | 586 | | |
585 | | - | |
| 587 | + | |
586 | 588 | | |
587 | 589 | | |
588 | 590 | | |
| |||
594 | 596 | | |
595 | 597 | | |
596 | 598 | | |
597 | | - | |
| 599 | + | |
598 | 600 | | |
599 | 601 | | |
600 | 602 | | |
601 | 603 | | |
602 | | - | |
| 604 | + | |
603 | 605 | | |
604 | 606 | | |
605 | 607 | | |
606 | 608 | | |
607 | | - | |
| 609 | + | |
608 | 610 | | |
609 | 611 | | |
610 | 612 | | |
| |||
629 | 631 | | |
630 | 632 | | |
631 | 633 | | |
632 | | - | |
| 634 | + | |
633 | 635 | | |
634 | 636 | | |
635 | 637 | | |
636 | 638 | | |
637 | 639 | | |
638 | 640 | | |
639 | | - | |
| 641 | + | |
640 | 642 | | |
641 | 643 | | |
642 | 644 | | |
643 | | - | |
| 645 | + | |
644 | 646 | | |
645 | 647 | | |
646 | 648 | | |
647 | | - | |
| 649 | + | |
648 | 650 | | |
649 | 651 | | |
650 | 652 | | |
651 | 653 | | |
652 | 654 | | |
653 | | - | |
| 655 | + | |
654 | 656 | | |
655 | 657 | | |
656 | 658 | | |
| |||
673 | 675 | | |
674 | 676 | | |
675 | 677 | | |
676 | | - | |
677 | | - | |
678 | | - | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
679 | 682 | | |
680 | 683 | | |
681 | | - | |
682 | | - | |
683 | | - | |
684 | | - | |
685 | | - | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
686 | 692 | | |
687 | | - | |
688 | | - | |
| 693 | + | |
| 694 | + | |
689 | 695 | | |
690 | 696 | | |
691 | | - | |
692 | | - | |
693 | | - | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
694 | 701 | | |
695 | | - | |
| 702 | + | |
696 | 703 | | |
697 | | - | |
| 704 | + | |
698 | 705 | | |
699 | 706 | | |
700 | 707 | | |
701 | | - | |
702 | | - | |
| 708 | + | |
| 709 | + | |
703 | 710 | | |
704 | 711 | | |
705 | | - | |
| 712 | + | |
706 | 713 | | |
707 | 714 | | |
708 | 715 | | |
709 | | - | |
| 716 | + | |
710 | 717 | | |
711 | | - | |
712 | | - | |
| 718 | + | |
| 719 | + | |
713 | 720 | | |
714 | | - | |
| 721 | + | |
715 | 722 | | |
716 | 723 | | |
717 | 724 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1797 | 1797 | | |
1798 | 1798 | | |
1799 | 1799 | | |
1800 | | - | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
| 1804 | + | |
| 1805 | + | |
| 1806 | + | |
| 1807 | + | |
1801 | 1808 | | |
1802 | 1809 | | |
1803 | 1810 | | |
| |||
0 commit comments