Commit b07ee72
Iteration 2: Float64Array parallel values for monomorphic numeric sort
Pre-copy finite numeric values into a parallel Float64Array (fvals) during
the partition pass. For all-numeric Series the sort comparator now reads
fvSlice[a]! - fvSlice[b]! instead of (vals[a] as ...) < (vals[b] as ...),
giving the JIT an unboxed, monomorphic Float64Array call site and replacing
two branch comparisons with a single FP subtraction per comparison.
For string/boolean/mixed Series the existing generic branch comparator is
used unchanged.
Run: https://github.com/githubnext/tsessebe/actions/runs/24830395075
Co-authored-by: Copilot <[email protected]>1 parent 5792af4 commit b07ee72
1 file changed
Lines changed: 22 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
716 | 716 | | |
717 | 717 | | |
718 | 718 | | |
719 | | - | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
720 | 722 | | |
721 | 723 | | |
| 724 | + | |
722 | 725 | | |
723 | 726 | | |
| 727 | + | |
724 | 728 | | |
725 | 729 | | |
726 | 730 | | |
727 | 731 | | |
728 | 732 | | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
729 | 738 | | |
730 | 739 | | |
731 | 740 | | |
732 | 741 | | |
733 | | - | |
734 | | - | |
735 | | - | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
736 | 746 | | |
737 | | - | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
738 | 755 | | |
739 | 756 | | |
740 | 757 | | |
| |||
0 commit comments