Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
2c1b44f
Iteration 6: Implement GroupBy
github-actions[bot] Apr 5, 2026
2ca036e
Iteration 7: concat
github-actions[bot] Apr 5, 2026
3f00a44
Iteration 54: Implement merge
github-actions[bot] Apr 5, 2026
205501e
Iteration 55: Implement Series.str string accessor
github-actions[bot] Apr 5, 2026
6e95d03
Iteration 56: Implement Series.dt datetime accessor
github-actions[bot] Apr 5, 2026
0a8d69e
Iteration 57: Add describe() and quantile() summary statistics
github-actions[bot] Apr 5, 2026
106c75c
Iteration 58: Implement readCsv / toCsv CSV I/O
github-actions[bot] Apr 5, 2026
0a71272
Iteration 59: Implement readJson / toJson JSON I/O
github-actions[bot] Apr 5, 2026
0c18609
Iteration 60: Add corr/cov — Pearson correlation and covariance
github-actions[bot] Apr 5, 2026
73ff6a2
Iteration 61: Implement rolling window aggregations (Series.rolling /…
github-actions[bot] Apr 5, 2026
6ae4101
Iteration 63: Add Expanding window and CategoricalAccessor
github-actions[bot] Apr 5, 2026
926fe2e
Iteration 64: Add melt and pivot/pivotTable reshape utilities
github-actions[bot] Apr 5, 2026
d31757a
Iteration 65: Add EWM (Exponentially Weighted Moving) aggregations
github-actions[bot] Apr 5, 2026
488af8c
Iteration 66: Add stack() and unstack() reshape utilities
github-actions[bot] Apr 5, 2026
2de7f04
Iteration 67: Add MultiIndex
github-actions[bot] Apr 5, 2026
d053619
Iteration 68: Add rank() — rankSeries and rankDataFrame
github-actions[bot] Apr 5, 2026
662a2a1
Iteration 69: Add nlargest/nsmallest — Series and DataFrame top-n sel…
github-actions[bot] Apr 5, 2026
5de2460
Iteration 70: Cumulative operations (cumsum/cumprod/cummax/cummin)
github-actions[bot] Apr 5, 2026
e8e23ea
Iterations 71–73: elem_ops, value_counts, where/mask
github-actions[bot] Apr 5, 2026
aca2361
Iteration 74: Add element-wise comparison ops (eq/ne/lt/gt/le/ge)
github-actions[bot] Apr 5, 2026
0220c61
Iteration 75: Add shift() and diff() for Series and DataFrame
github-actions[bot] Apr 5, 2026
988df60
Iteration 76: Add interpolate() for Series and DataFrame
github-actions[bot] Apr 5, 2026
847c8cc
Iteration 77: Add fillna() for Series and DataFrame
github-actions[bot] Apr 5, 2026
281be7f
Iteration 78: Add Interval and IntervalIndex
github-actions[bot] Apr 6, 2026
f26b4cc
Iteration 79: Add pd.cut() and pd.qcut()
github-actions[bot] Apr 6, 2026
d386462
Iteration 81: Add sample() — random sampling for Series and DataFrame
github-actions[bot] Apr 6, 2026
53fb1b0
Iteration 82: Add src/stats/apply.ts — applySeries, applymap, dataFra…
github-actions[bot] Apr 6, 2026
a8f6644
Iteration 83: Add CategoricalIndex — pandas.CategoricalIndex port
github-actions[bot] Apr 6, 2026
a6d0c7f
Iteration 84: Add pipe() — method chaining utilities for Series and D…
github-actions[bot] Apr 6, 2026
c7d5ee1
Iteration 85: Add Period and PeriodIndex
github-actions[bot] Apr 6, 2026
4a9f311
Iteration 86: Add Timedelta and TimedeltaIndex — pandas.Timedelta port
github-actions[bot] Apr 6, 2026
981c5cc
Iteration 87: Add DateOffset — calendar-aware date arithmetic
github-actions[bot] Apr 6, 2026
66586bb
Iteration 88: Add DatetimeIndex, date_range, and bdate_range
github-actions[bot] Apr 6, 2026
316ae11
Iteration 89: Add numeric_ops (floor/ceil/trunc/sqrt/exp/log/log2/log…
github-actions[bot] Apr 6, 2026
665c7d7
Iteration 90: Add pow/mod/floordiv element-wise arithmetic (44→45)
github-actions[bot] Apr 6, 2026
8c2ce8c
Iteration 91: Add add/sub/mul/div element-wise arithmetic (45→46)
github-actions[bot] Apr 6, 2026
5a37543
Iteration 92: Add TZDatetimeIndex — tz_localize / tz_convert (46→47)
github-actions[bot] Apr 6, 2026
1ef3d67
Iteration 93: Add get_dummies — one-hot encoding (47→48)
github-actions[bot] Apr 6, 2026
beea4d2
Iteration 94: Add factorize() — integer encoding of categorical values
github-actions[bot] Apr 6, 2026
577d1c9
Iteration 95: Add crosstab() — cross-tabulation of two categorical fa…
github-actions[bot] Apr 6, 2026
7745f07
Iteration 96: Add wide_to_long reshape
github-actions[bot] Apr 6, 2026
50e1468
Iteration 97: Add json_normalize — flatten nested JSON to DataFrame
github-actions[bot] Apr 6, 2026
8b6ac74
Iteration 98: Add to_numeric — coerce mixed types to numbers (52→53)
github-actions[bot] Apr 6, 2026
943681b
Iteration 99: Add Timestamp class (pandas.Timestamp port)
github-actions[bot] Apr 6, 2026
0179a36
Iteration 100: Add memory_usage — Series and DataFrame memory estimat…
github-actions[bot] Apr 6, 2026
f0f50be
Iteration 101: Add select_dtypes — filter DataFrame columns by dtype …
github-actions[bot] Apr 6, 2026
5f77cbc
Iteration 102: Add NamedAgg — named aggregation for GroupBy (56→57)
github-actions[bot] Apr 6, 2026
0e197b0
Iteration 103: Add dataFrameAssign() with callable support
github-actions[bot] Apr 6, 2026
eae158b
Iteration 104: Add clipSeriesWithBounds / clipDataFrameWithBounds — c…
github-actions[bot] Apr 6, 2026
f572210
Iteration 105: Add pivotTableFull with margins support
github-actions[bot] Apr 6, 2026
c8dd57e
Iteration 106: Add infer_dtype (pandas.api.types.infer_dtype)
github-actions[bot] Apr 6, 2026
ae59ff1
Iteration 107: Add notna/isna/notnull/isnull — element-wise missing-v…
github-actions[bot] Apr 6, 2026
2f7f608
Iteration 108: Add standalone dropna() with full axis/how/thresh/subs…
github-actions[bot] Apr 6, 2026
baff4ac
Iteration 109: Add combine_first for Series and DataFrame
github-actions[bot] Apr 6, 2026
43cada1
Iteration 110: Add natsort — natural-order string sorting
github-actions[bot] Apr 6, 2026
831bd70
Iteration 111: Add searchsorted — binary search on sorted arrays (65→66)
github-actions[bot] Apr 6, 2026
2c620b8
Iteration 112: Add valueCountsBinned — value_counts with bins=N
github-actions[bot] Apr 6, 2026
af2eff5
Iteration 113: Add duplicated/drop_duplicates — pandas.DataFrame.dupl…
github-actions[bot] Apr 6, 2026
45f5e77
Iteration 114: Add reindex — pandas.Series.reindex and DataFrame.rein…
github-actions[bot] Apr 7, 2026
8f2b225
Iteration 115: Implement align (Series.align / DataFrame.align)
github-actions[bot] Apr 7, 2026
d2ce475
Iteration 116: Add explode for Series and DataFrame
github-actions[bot] Apr 7, 2026
e16ee12
Iteration 117: Add isin — Series and DataFrame membership testing
github-actions[bot] Apr 7, 2026
9d5cb33
Update infrastructure from main: workflows, biome.json, playground up…
github-actions[bot] Apr 8, 2026
97dfa65
Update playground pages to interactive dark-theme format from main
github-actions[bot] Apr 8, 2026
318acec
Merge main into PR branch: resolve merge conflicts
github-actions[bot] Apr 8, 2026
06fe028
Merge main: update shared feature files to latest main versions
github-actions[bot] Apr 8, 2026
d16b1da
Resolve merge conflict with main: index barrel exports
github-actions[bot] Apr 8, 2026
8961cbd
chore: re-merge main into PR branch (barrel export conflicts)
github-actions[bot] Apr 8, 2026
eb3695a
chore: mark main merge resolution (2026-04-08)
github-actions[bot] Apr 8, 2026
e8f277c
fix: reorder stats/index.ts exports to match main's ordering (aids me…
github-actions[bot] Apr 8, 2026
a0ba3ec
fix: update merge timestamp comment in src/index.ts
github-actions[bot] Apr 8, 2026
6bb5eac
fix: update merge timestamp comment in src/index.ts
github-actions[bot] Apr 9, 2026
6c52bd1
chore: update merge timestamp; PR branch is superset of main
github-actions[bot] Apr 9, 2026
52f4245
chore: sync autoloop.lock.yml with main to resolve merge conflict
github-actions[bot] Apr 9, 2026
93560a5
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
41545e6
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
994ed1f
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
81c08d5
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
3a723ca
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
f440f3a
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
52e43dc
chore: merge main and resolve barrel-export conflicts
github-actions[bot] Apr 9, 2026
c2d1a5e
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
9d57918
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
bf0a23d
chore: merge main into PR branch (resolve barrel-export conflicts)
github-actions[bot] Apr 9, 2026
3e9c031
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
ea8e3aa
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
eefd755
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
311ffc1
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
fab4471
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
8528cc9
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
27b6118
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
5eac454
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
b078779
chore: update merge timestamp to mark main has been merged
github-actions[bot] Apr 9, 2026
c81278f
chore: merge main into PR branch, resolve barrel-export conflicts
github-actions[bot] Apr 9, 2026
04d8fa7
chore: re-merge main, update timestamp — barrel conflicts resolved (P…
github-actions[bot] Apr 9, 2026
d87cb10
Merge origin/main and resolve barrel export conflicts
Copilot Apr 10, 2026
29f95d9
Fix CI typecheck errors after merge conflict resolution
Copilot Apr 12, 2026
5530985
Address review feedback in CI typecheck fixes
Copilot Apr 12, 2026
4e0b37b
Fix failing tests in json_normalize natsort interval cut and clip bounds
Copilot Apr 12, 2026
dab7ddc
Merge changes from main: resolve barrel export conflicts and bring in…
github-actions[bot] Apr 12, 2026
913475e
Merge origin/main and resolve conflicts
Copilot Apr 12, 2026
ca53fae
Merge origin/main and resolve conflicts
Copilot Apr 14, 2026
a08658f
fix: avoid regex redos in named group extraction
Copilot Apr 14, 2026
b62f28d
fix: restore failing assign, named agg, memory usage, and combine-fir…
Copilot Apr 14, 2026
bbf8e0f
refactor: improve assign naming and clarify memory usage test helper
Copilot Apr 14, 2026
25ae11a
fix: stabilize trunc property test and apply biome formatting fixes
Copilot Apr 14, 2026
a521592
fix: resolve remaining CI lint/test failures across repo
Copilot Apr 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
358 changes: 1 addition & 357 deletions benchmarks/results.json
Original file line number Diff line number Diff line change
@@ -1,357 +1 @@
{
"benchmarks": [
{
"function": "concat",
"tsb": {
"function": "concat",
"mean_ms": 128.9745293,
"iterations": 20,
"total_ms": 2579.490586
},
"pandas": {
"function": "concat",
"mean_ms": 0.11375509999993483,
"iterations": 20,
"total_ms": 2.2751019999986966
},
"ratio": 1133.791
},
{
"function": "dataframe_apply",
"tsb": {
"function": "dataframe_apply",
"mean_ms": 16.7897294,
"iterations": 10,
"total_ms": 167.897294
},
"pandas": {
"function": "dataframe_apply",
"mean_ms": 47.161531699998704,
"iterations": 10,
"total_ms": 471.61531699998704
},
"ratio": 0.356
},
{
"function": "dataframe_creation",
"tsb": {
"function": "dataframe_creation",
"mean_ms": 223.22429929999998,
"iterations": 10,
"total_ms": 2232.242993
},
"pandas": {
"function": "dataframe_creation",
"mean_ms": 5.148059900000135,
"iterations": 10,
"total_ms": 51.48059900000135
},
"ratio": 43.361
},
{
"function": "dataframe_dropna",
"tsb": {
"function": "dataframe_dropna",
"mean_ms": 172.72901985000004,
"iterations": 20,
"total_ms": 3454.5803970000006
},
"pandas": {
"function": "dataframe_dropna",
"mean_ms": 2.42739894999886,
"iterations": 20,
"total_ms": 48.547978999977204
},
"ratio": 71.158
},
{
"function": "dataframe_filter",
"tsb": {
"function": "dataframe_filter",
"mean_ms": 126.19991375,
"iterations": 20,
"total_ms": 2523.998275
},
"pandas": {
"function": "dataframe_filter",
"mean_ms": 0.4964389500003108,
"iterations": 20,
"total_ms": 9.928779000006216
},
"ratio": 254.21
},
{
"function": "dataframe_rename",
"tsb": {
"function": "dataframe_rename",
"mean_ms": 0.008352200000000209,
"iterations": 20,
"total_ms": 0.1670440000000042
},
"pandas": {
"function": "dataframe_rename",
"mean_ms": 0.17103454999869427,
"iterations": 20,
"total_ms": 3.4206909999738855
},
"ratio": 0.049
},
{
"function": "dataframe_sort",
"tsb": {
"function": "dataframe_sort",
"mean_ms": 434.5389244,
"iterations": 10,
"total_ms": 4345.389244
},
"pandas": {
"function": "dataframe_sort",
"mean_ms": 33.301584399998774,
"iterations": 10,
"total_ms": 333.01584399998774
},
"ratio": 13.049
},
{
"function": "describe",
"tsb": {
"function": "describe",
"mean_ms": 19.719739000000004,
"iterations": 10,
"total_ms": 197.19739000000004
},
"pandas": {
"function": "describe",
"mean_ms": 5.521558600003118,
"iterations": 10,
"total_ms": 55.21558600003118
},
"ratio": 3.571
},
{
"function": "ewm_mean",
"tsb": {
"function": "ewm_mean",
"mean_ms": 118.5438748,
"iterations": 10,
"total_ms": 1185.438748
},
"pandas": {
"function": "ewm_mean",
"mean_ms": 1.7652839999982461,
"iterations": 10,
"total_ms": 17.65283999998246
},
"ratio": 67.153
},
{
"function": "groupby_mean",
"tsb": {
"function": "groupby_mean",
"mean_ms": 21.510315099999996,
"iterations": 10,
"total_ms": 215.10315099999997
},
"pandas": {
"function": "groupby_mean",
"mean_ms": 8.079756900002621,
"iterations": 10,
"total_ms": 80.79756900002621
},
"ratio": 2.662
},
{
"function": "merge",
"tsb": {
"function": "merge",
"mean_ms": 10348.345783,
"iterations": 3,
"total_ms": 31045.037349000002
},
"pandas": {
"function": "merge",
"mean_ms": 60.42320619999941,
"iterations": 10,
"total_ms": 604.2320619999941
},
"ratio": 171.264
},
{
"function": "pivot_table",
"tsb": {
"function": "pivot_table",
"mean_ms": 117.3417057,
"iterations": 10,
"total_ms": 1173.417057
},
"pandas": {
"function": "pivot_table",
"mean_ms": 22.500251999997545,
"iterations": 10,
"total_ms": 225.00251999997545
},
"ratio": 5.215
},
{
"function": "read_csv",
"tsb": {
"function": "read_csv",
"mean_ms": 589.2802257999999,
"iterations": 5,
"total_ms": 2946.401129
},
"pandas": {
"function": "read_csv",
"mean_ms": 29.951929399999244,
"iterations": 5,
"total_ms": 149.75964699999622
},
"ratio": 19.674
},
{
"function": "rolling_mean",
"tsb": {
"function": "rolling_mean",
"mean_ms": 419.62945440000004,
"iterations": 10,
"total_ms": 4196.294544
},
"pandas": {
"function": "rolling_mean",
"mean_ms": 1.71982609999759,
"iterations": 10,
"total_ms": 17.1982609999759
},
"ratio": 243.995
},
{
"function": "series_arithmetic",
"tsb": {
"function": "series_arithmetic",
"mean_ms": 122.68170964999999,
"iterations": 20,
"total_ms": 2453.634193
},
"pandas": {
"function": "series_arithmetic",
"mean_ms": 0.764571400000591,
"iterations": 20,
"total_ms": 15.29142800001182
},
"ratio": 160.458
},
{
"function": "series_creation",
"tsb": {
"function": "series_creation",
"mean_ms": 103.015,
"iterations": 50,
"total_ms": 5150.754
},
"pandas": {
"function": "series_creation",
"mean_ms": 7.607,
"iterations": 50,
"total_ms": 380.349
},
"ratio": 13.542
},
{
"function": "series_cumsum",
"tsb": {
"function": "series_cumsum",
"mean_ms": 58.26283665,
"iterations": 20,
"total_ms": 1165.256733
},
"pandas": {
"function": "series_cumsum",
"mean_ms": 1.1250383499998406,
"iterations": 20,
"total_ms": 22.500766999996813
},
"ratio": 51.787
},
{
"function": "series_fillna",
"tsb": {
"function": "series_fillna",
"mean_ms": 61.56140175,
"iterations": 20,
"total_ms": 1231.228035
},
"pandas": {
"function": "series_fillna",
"mean_ms": 0.18527670000025864,
"iterations": 20,
"total_ms": 3.705534000005173
},
"ratio": 332.267
},
{
"function": "series_shift",
"tsb": {
"function": "series_shift",
"mean_ms": 110.16682740000002,
"iterations": 20,
"total_ms": 2203.336548
},
"pandas": {
"function": "series_shift",
"mean_ms": 0.07249699999931636,
"iterations": 20,
"total_ms": 1.4499399999863272
},
"ratio": 1519.605
},
{
"function": "series_sort",
"tsb": {
"function": "series_sort",
"mean_ms": 161.28472190000002,
"iterations": 10,
"total_ms": 1612.8472190000002
},
"pandas": {
"function": "series_sort",
"mean_ms": 5.127767300001551,
"iterations": 10,
"total_ms": 51.27767300001551
},
"ratio": 31.453
},
{
"function": "series_string_ops",
"tsb": {
"function": "series_string_ops",
"mean_ms": 243.85622659999999,
"iterations": 10,
"total_ms": 2438.562266
},
"pandas": {
"function": "series_string_ops",
"mean_ms": 34.08206670000027,
"iterations": 10,
"total_ms": 340.8206670000027
},
"ratio": 7.155
},
{
"function": "series_value_counts",
"tsb": {
"function": "series_value_counts",
"mean_ms": 38.8205242,
"iterations": 10,
"total_ms": 388.205242
},
"pandas": {
"function": "series_value_counts",
"mean_ms": 9.212644899997713,
"iterations": 10,
"total_ms": 92.12644899997713
},
"ratio": 4.214
}
],
"timestamp": "2026-04-13T00:11:36Z"
}
{ "benchmarks": [], "timestamp": null }
Empty file modified benchmarks/run_benchmarks.sh
100755 → 100644
Empty file.
Loading
Loading