Conversation
Run: https://github.com/githubnext/tsessebe/actions/runs/24815695413 - Replace boxed {v,i} pair allocation with Uint32Array index sort - Pre-partition NaN/null/undefined in one pass (removes NaN check from comparator hot path) - Dispatch to one of two monomorphic comparators (ascending vs descending) - Single gather loop instead of two .map() calls - Reduces GC pressure from N object allocations to zero Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
noUncheckedIndexedAccess causes Uint32Array element access to return number | undefined. Since loop bounds guarantee valid indices, use ! to assert non-null and satisfy the type checker. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Commit pushed:
|
Evergreen Fix 🌿Issue: TypeScript type errors in Fix: Added non-null assertions ( Verification: Warning
|
🤖 This PR is maintained by Autoloop. Each accepted iteration adds a commit to this branch.
Goal
Evolve
Series.sortValuesinsrc/core/series.tsto minimize the fitness ratiotsb_mean_ms / pandas_mean_ms. A value< 1.0means tsb is faster than pandas on the benchmark (n=100k floats with 5% NaN).Program issue: #189
Strategy: AlphaEvolve (MAP-Elites population-based evolution)
Current Best Metric
Pending first CI run (sandbox bun not available for local evaluation).
What's in this branch
Iteration 1 — Island 1: Indirect typed-array sort with NaN pre-partition
{v, i}object-pair sort with an indirectUint32Arrayindex sort.map()calls