[Autoloop: tsb-perf-evolve]
- 主要言語
- TypeScript
- スター
- 7
- フォーク
- 3
- 平均マージ
- 1時間 42分
- マージ済み PR(30日)
- 1
説明
🤖 *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)
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず src/core/series.ts の sortValues メソッドと、.autoloop/programs/tsb-perf-evolve/code/benchmark.ts および benchmark.py のベンチマークペアを読みます。変更を fitness ratio に基づいて評価しながら、既存の sortValues テストと明記された不変条件を維持してください。完了とは、動作が同一のままで、TypeScript 実装が 1.0 未満の ratio に到達することを意味します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- typescript
- 領域
- performance
- issue の種類
- リファクタリング
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100