[Autoloop: tsb-perf-evolve]
- Lenguaje dominante
- TypeScript
- Estrellas
- 7
- Forks
- 3
- Merge medio
- 1 h 42 min
- PR fusionados (30 d)
- 1
Descripción
🤖 *Autoloop program issue for `tsb-perf-evolve`. The program definition below is mirrored from [`.autoloop/programs/tsb-perf-evolve/program.md`](https://github.com/githubnext/tsessebe/blob/main/.autoloop/programs/tsb-perf-evolve/program.md). Edit the file to update the definition; comment on this issue to steer the agent.*
---
# tsb perf evolve — Series.sortValues vs pandas Series.sort_values
## Goal
Evolve the implementation of `Series.sortValues` (`src/core/series.ts`) so that, on the synthetic benchmark in `code/benchmark.ts`, tsb runs **at least as fast as pandas** on the equivalent `Series.sort_values` call (`code/benchmark.py`).
Concretely, we minimize the **ratio**
fitness = mean_ms_tsb / mean_ms_pandas
`fitness < 1.0` means tsb is faster than pandas; lower is better. We will keep iterating as long as fitness keeps improving.
This is a **performance-evolution program** — there is one self-contained artifact (`Series.sortValues`), one scalar fitness (the ratio), and many plausible algorithmic families to try (comparison sort, typed-array indirect sort, dtype-dispatched non-comparison sort, batched/SoA, etc.). It is the canonical case for the AlphaEvolve strategy.
### Validity invariants
1. The existing test suite for `sortValues` passes.
2. The function signature is unchanged: `sortValues(ascending = true, naPosition: "first" | "last" = "last"): Series`.
3. No new runtime dependencies.
4. TypeScript strict mode satisfied.
5. Behaviour identical to reference for all dtypes, both ascending/descending, both `naPosition` values, and empty Series.
## Target
Only modify: `src/core/series.ts` (sortValues method body) and `.autoloop/programs/tsb-perf-evolve/code/**`.
## Evaluation
Metric: `fitness` = `tsb_mean_ms / pandas_mean_ms`. **Lower is better.** `< 1.0` means tsb is faster than pandas.
> Generated by [Autoloop](https://github.com/githubnext/tsessebe/actions/runs/24815695413/agentic_workflow) · ● 3.4M · [◷](https://github.com/search?q=repo%3Agithubnext%2Ftsessebe+is%3Aissue+%22gh-aw-workflow-call-id%3A+githubnext%2Ftsessebe%2Fautoloop%22&type=issues)
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Empieza leyendo el método sortValues en src/core/series.ts y el par de benchmarks en .autoloop/programs/tsb-perf-evolve/code/benchmark.ts y benchmark.py. Conserva las pruebas existentes de sortValues y las invariantes indicadas mientras evalúas los cambios según la proporción de fitness; se considera terminado cuando el comportamiento siga siendo idéntico y la implementación de TypeScript alcance una proporción inferior a 1.0.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- typescript
- Área
- performance
- Tipo de issue
- Refactorización
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100