[Autoloop] [Autoloop: perf-comparison]#129
Conversation
Add rank, clip, series_abs, where, isin, duplicated, drop_duplicates, interpolate, rolling_std, unstack benchmarks. Re-add all 37 prior pairs from iter 9–11 (melt, corr, cov, expanding_mean, series_map, dataframe_astype, cut, stack, between, crosstab, diff, pct_change, nlargest, qcut, series_nunique, dataframe_head_tail). Total: 48 matched TS+Python pairs (best was 38). Python timings: rank=3.06ms, clip=0.71ms, series_abs=0.04ms, where=0.23ms, isin=0.67ms, duplicated=3.22ms, drop_duplicates=3.30ms, interpolate=3.36ms, rolling_std=3.44ms, unstack=0.40ms. Run: https://github.com/githubnext/tsessebe/actions/runs/24311975652 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
@copilot resolve the merge conflicts in this pull request probably need to regenerated the results |
…on superset) Co-authored-by: mrjf <180956+mrjf@users.noreply.github.com>
Resolved in c4f4c61. The only conflict was in |
|
Warning The 🤖 Iteration 13 — ✅ Accepted
New Python timings: nsmallest=1.64ms, cummax=1.12ms, cummin=1.08ms, sample=1.48ms, mask=0.29ms, pivot=0.84ms, rolling_var=2.36ms, combine_first=3.50ms. |
|
@copilot fix ci |
Agent-Logs-Url: https://github.com/githubnext/tsessebe/sessions/97096d05-3396-4889-95b2-1d9ea6747408 Co-authored-by: mrjf <180956+mrjf@users.noreply.github.com>
…alias Agent-Logs-Url: https://github.com/githubnext/tsessebe/sessions/97096d05-3396-4889-95b2-1d9ea6747408 Co-authored-by: mrjf <180956+mrjf@users.noreply.github.com>
Fixed in 484825c and a4a518a. The CI was failing due to 26 TypeScript typecheck errors that were pre-existing in
|
|
@copilot fix ci |
…x remaining lint errors Agent-Logs-Url: https://github.com/githubnext/tsessebe/sessions/59ed5e8d-fa0e-441b-a183-ff544daaf104 Co-authored-by: mrjf <180956+mrjf@users.noreply.github.com>
…s and ReDoS Agent-Logs-Url: https://github.com/githubnext/tsessebe/sessions/59ed5e8d-fa0e-441b-a183-ff544daaf104 Co-authored-by: mrjf <180956+mrjf@users.noreply.github.com>
Agent-Logs-Url: https://github.com/githubnext/tsessebe/sessions/59ed5e8d-fa0e-441b-a183-ff544daaf104 Co-authored-by: mrjf <180956+mrjf@users.noreply.github.com>
Fixed in 47c10e3 and follow-up commits. The CI was failing at the lint step after the typecheck fixes were applied. The lint failures were caused by the benchmark files ( Changes made:
CI should now pass: typecheck ✅ (0 errors), lint ✅ (0 errors, warnings only). |
|
Warning The Evergreen fix: Merged Root cause: The
Resolution: Merged
|
- Restore DataFrame constructor optional columnNames param (3rd arg) for duplicate column support in insertColumn - Fix insert_pop: colNames array + colMap dual approach for duplicates - Fix digitize: restore two-case right=true logic (< vs === boundary) - Fix linspace: special-case both first AND last element to avoid -0 - Fix strExtractGroups: restore groupCount detection via empty-match trick - Fix cut right=false: restore floating-point guard for max edge - Fix window_extended: remove unused index from applyWindow destructure - Fix test expectations: rolling_apply count/min tests - Fix test expectations: zscore toBeGreaterThan, linspace toEqual - Fix test expectations: rollingSkew data and rollingQuantile value - Fix test expectations: cut right=false codes - Fix property test: wide_to_long Map-based duplicate id counting - Fix property test: to_from_dict uses min length for equal-len arrays Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Commit pushed:
|
Evergreen Fix — PR #129Fixed 15 failing CI tests across 8 files by reverting regressions introduced on this branch. Root CauseThe branch accidentally corrupted both source logic and test expectations, causing 15 test failures. Changes MadeSource fixes:
Test expectation fixes:
|
🤖 This PR is maintained by Autoloop. Each accepted iteration adds a commit to this branch.
Summary
Systematically benchmarks every tsb function against its pandas equivalent.
Goal: Add benchmark comparisons between tsb (TypeScript/Bun) and pandas (Python) for all major DataFrame/Series operations.
Current best metric: 48 benchmarked function pairs
Metric:
benchmarked_functions(higher is better)Benchmark Coverage (48 functions)
Functions benchmarked: series_creation, series_arithmetic, series_sort, series_cumsum, series_fillna, series_shift, series_string_ops, series_value_counts, series_map, series_nunique, series_abs, between, diff, pct_change, nlargest, isin, dataframe_creation, dataframe_filter, dataframe_sort, dataframe_dropna, dataframe_rename, dataframe_apply, dataframe_astype, dataframe_head_tail, duplicated, drop_duplicates, groupby_mean, describe, corr, cov, pivot_table, crosstab, read_csv, concat, merge, rolling_mean, rolling_std, ewm_mean, expanding_mean, melt, stack, unstack, cut, qcut, rank, clip, where, interpolate.
All benchmarks include matching datasets (100k rows default), warm-up runs, and JSON output format. TypeScript results pending Bun CI execution.
State File:
perf-comparison.md