Conversation
Added benchmarks for: - nan_sum_mean_std (nansum/nanmean/nanstd vs np.nansum/np.nanmean/np.nanstd) - nan_var_min_max (nanvar/nanmin/nanmax vs np.nanvar/np.nanmin/np.nanmax) - sample_weights (sampleSeries/sampleDataFrame with weights option) - histogram_bin_edges (histogram with custom binEdges vs np.histogram with bins array) - pivot_table_aggfunc_variants (pivotTable with sum/count/min/max aggfuncs) Metric: 539 (previous best: 513, delta: +26) Run: https://github.com/githubnext/tsessebe/actions/runs/24588989692 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Warning The ✅ Iteration 168 — +5 benchmarks (539 → 544)Run: §24589957328 New Benchmark Pairs Added
Old metric: 539 | New metric: 544 | Delta: +5 |
Added 10 new benchmark pairs covering specific options/variants: - read_json_all_orients: readJson with records/split/columns/values/index orients - pivot_table_fill_value: pivotTable with fill_value=0 option - dataframe_cov_options: dataFrameCov/dataFrameCorr with ddof and minPeriods - dataframe_rolling_apply_fn: standalone dataFrameRollingApply function - pct_change_fill_method: pctChangeSeries/pctChangeDataFrame with fillMethod options - reindex_fill_methods: reindexSeries/reindexDataFrame with ffill/bfill/nearest - json_normalize_meta: jsonNormalize with recordPath, meta fields, metaPrefix - interpolate_zero_nearest: interpolateSeries with zero/nearest/linear with limit - dropna_thresh_subset: dropnaDataFrame with thresh and subset options - wide_to_long_sep_suffix: wideToLong with sep and suffix regex options Run: https://github.com/githubnext/tsessebe/actions/runs/24590758458 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🤖 Iteration 169 — ✅ Accepted
New benchmark pairs:
Result: Metric improved from 544 → 549 (best on branch: 549). |
Add cumulative ops and nan-aggregate benchmark pairs: - nancumops_extra: nanmedian, nancount, nanprod (previously unbenchmarked) - cumops_skipna: cumsum/cumprod with skipna=false option - dataframe_cumops_axis1: DataFrame cumsum/cumprod with axis=1 (row-wise) - series_cumops_nan: cumsum/cumprod/cummax/cummin on Series with NaN values - cummax_cummin_str: cummax/cummin on string Series Run: https://github.com/githubnext/tsessebe/actions/runs/24591536269 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🤖 Iteration 170 — ✅ Accepted — Run
|
|
Warning The 🤖 Iteration 171 — ✅ Accepted (Run)
|
|
Warning The 🤖 Iteration 172 — ✅ Accepted | Run
New benchmark pairs:
|
Merged 20 benchmark pairs from non-canonical branch (iterations 167-170): cummax_cummin_str, cumops_skipna, dataframe_cov_options, dataframe_cumops_axis1, dataframe_rolling_apply_fn, dropna_thresh_subset, histogram_bin_edges, interpolate_zero_nearest, json_normalize_meta, nan_sum_mean_std, nan_var_min_max, nancumops_extra, pct_change_fill_method, pivot_table_aggfunc_variants, pivot_table_fill_value, read_json_all_orients, reindex_fill_methods, sample_weights, series_cumops_nan, wide_to_long_sep_suffix. Added 5 new benchmark pairs: - interpolate_methods: all 5 methods (linear/ffill/bfill/nearest/zero) - explode_dataframe: explodeDataFrame list-column expansion - nlargest_dataframe: nlargestDataFrame/nsmallestDataFrame top-N rows - select_dtypes_options: selectDtypes with include/exclude variants - get_dummies_drop_first: getDummies/dataFrameGetDummies with drop_first + prefix Metric: 559 (previous best: 539, delta: +20) Run: https://github.com/githubnext/tsessebe/actions/runs/24594692249 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🤖 Iteration 173 — ✅ Accepted
|
|
Warning The ✅ Iteration 174 — metric 559 → 560 (+1)Added 26 new benchmark pairs covering previously-unbenchmarked APIs: New pairs:
|
Add: str_contains, fillna_col_map, groupby_agg_no_index, crosstab_normalize, pct_change_periods Run: https://github.com/githubnext/tsessebe/actions/runs/24597203672 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Warning The 🤖 Iteration 176 — ✅ Accepted Change: Added 5 new benchmark pairs on canonical branch (merged origin/main first).
Metric: 539 (canonical baseline was 534 after merging main, delta: +5) |
|
Warning The 🤖 Iteration 179 — Run
|
Added benchmarks for previously un-benchmarked functions: - numeric_stats_ext: percentileOfScore, minMaxNormalize, coefficientOfVariation - cat_ops_from_codes: catFromCodes, catSortByFreq, catToOrdinal - cat_ops_setops: catUnionCategories, catIntersectCategories, catDiffCategories - cat_freq_crosstab: catFreqTable, catCrossTab (with normalize) - natsort_ops: natCompare, natSorted, natArgSort Run: https://github.com/githubnext/tsessebe/actions/runs/24600207313 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Warning The 🤖 Iteration 180 — ✅ Accepted 5 new benchmark pairs added (534 → 539 total, +5)
Metric: 539 (previous canonical best: 534, delta: +5) |
|
Warning The 🤖 Iteration 182 — ✅ Accepted | 539 benchmarked_functions (+5 vs canonical best 534) What changed: Added 5 new benchmark pairs targeting
Metric: 539 (canonical branch: 534→539, Δ+5) | Commit: 940de0d |
|
Warning The 🤖 Iteration 183 — ✅ Accepted
|
|
Warning The 🤖 Iteration 184 — ✅ Accepted
|
|
Warning The 🤖 Iteration 185 — ✅ Accepted — Run
|
|
Warning The 🤖 Iteration 186 — Run What changed: Added 5 standalone-function benchmark pairs for previously uncovered exported functions:
Old metric: 534 (canonical branch after merging main) 🤖 This PR is maintained by Autoloop. Each accepted iteration adds a commit to this branch. |
Add benchmarks for Hour/Second DateOffset, digitize standalone, toNumeric generic, NamedAgg class/factory/isNamedAggSpec, and combineFirstSeries standalone. These cover previously unbenchmarked exported symbols from src/. Run: https://github.com/githubnext/tsessebe/actions/runs/24603938988 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Warning The 🤖 Iteration 218 — ✅ Accepted
|
|
Warning The 🤖 Iteration 218 — ✅ Accepted
|
|
Warning The 🤖 Iteration 218 — ✅ Accepted
|
|
Warning The 🤖 Iteration 221 — ✅ Accepted (Run)
|
|
Warning The 🤖 Iteration 222 — ✅ Accepted
|
|
Warning The 🤖 Iteration 225 — ✅ Accepted
|
|
Warning The 🤖 Iteration 225 — ✅ Accepted
🤖 Run: https://github.com/githubnext/tsessebe/actions/runs/24630669433 |
🤖 Autoloop Iteration 227 — perf-comparisonCommit: SummaryAdded 7 new benchmark pairs covering previously unbenchmarked functions, bringing total benchmark pairs from 534 (canonical baseline) → 541.
New Benchmark Coverage
|
|
Warning The 🤖 Iteration 230 — ✅ Accepted (Run)
|
1 similar comment
|
Warning The 🤖 Iteration 230 — ✅ Accepted (Run)
|
|
Warning The Iteration 231 Summary6 new benchmark pairs added (540 total, up from 534) Functions Added
|
Added standalone function benchmarks for uncovered functions: - dataframe_abs_fn: dataFrameAbs standalone (not .abs() method) - dataframe_round_fn: dataFrameRound standalone (not .round() method) - unstack_fn: unstack standalone function (not .unstack() method) - series_numeric_pipeline: abs → round → clip chain - dataframe_numeric_pipeline: abs → round → sign chain Plus cherry-picked 50 pairs from origin/autoloop/perf-comparison-8724e9f9. Total: 534 (canonical) + 55 new = 589 pairs. Run: https://github.com/githubnext/tsessebe/actions/runs/24641474300 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add benchmark pairs: str_swapcase_capitalize, dt_strftime, series_reflected_arith, dataframe_reflected_arith, any_all. Run: https://github.com/githubnext/tsessebe/actions/runs/24644387987 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
[Autoloop: perf-comparison] Iteration 244 — ✅ Accepted 🤖 Iteration 244 — ✅ Accepted
|
Add 5 new benchmark pairs: - bench_formatter_factories: makeFloatFormatter/makePercentFormatter/makeCurrencyFormatter applied to Series - bench_cat_intersect_diff: catIntersectCategories/catDiffCategories on 100k-row Series with 20 categories - bench_series_shift_fn: standalone shiftSeries (vs old manual-impl bench_series_shift) - bench_reindex_fill: reindexSeries with ffill/bfill fill methods (extending bench_reindex) - bench_sample_weighted: sampleSeries with probability weights (extending bench_sample_fn) Run: https://github.com/githubnext/tsessebe/actions/runs/24650741846 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🤖 Iteration 247 — ✅ Accepted
|
|
Warning The 🤖 Iteration 248 — ✅ Accepted (Run)
|
|
Warning The 🤖 Iteration 249 — ✅ Accepted
|
|
Warning The 🤖 Iteration 252 — ✅ Accepted
|
|
Warning The 🤖 Iteration 255 — ✅ Accepted
|
|
Warning The 🤖 Iteration 256 — ✅ Accepted
|
|
Warning The 🤖 Iteration 257 — ✅ Accepted
|
🤖 This PR is maintained by Autoloop. Each accepted iteration adds a commit to this branch.
Performance Comparison: tsb (TypeScript) vs pandas (Python)
Goal: Systematically benchmark every tsb function against its pandas equivalent, one function per iteration.
Metric:
benchmarked_functions(higher is better)Current best: 539 (Iteration 167)
Steering Issue: #131
State File:
perf-comparison.mdLatest iteration (167)
Added 5 new benchmark pairs:
nan_sum_mean_std— nansum/nanmean/nanstd vs np.nansum/np.nanmean/np.nanstdnan_var_min_max— nanvar/nanmin/nanmax vs np.nanvar/np.nanmin/np.nanmaxsample_weights— sampleSeries/sampleDataFrame with weights optionhistogram_bin_edges— histogram with custom binEdges vs np.histogrampivot_table_aggfunc_variants— pivotTable with sum/count/min/max aggfuncs