Tidy-TS Logo

Performance Benchmarks

Real-world performance comparisons between tidy-ts and other data manipulation libraries. See how tidy-ts performs across different operations and dataset sizes.

Rust + WASM: tidy-ts achieves near-native performance through Rust's zero-cost abstractions and WASM's direct memory access, often performing within 2-3x of native libraries while maintaining TypeScript's developer experience.

500K Rows Benchmark
Performance comparison across core operations (median of 7 runs with 5 warmups, ms)
TS / JSTS / JSPythonPythonR
Operationtidy-tsArqueroPandasPolarsdplyr
creation (ms)116(1×)38(0.3×)757(6.5×)10(0.1×)0(0×)
filter (ms)13(1×)12(0.9×)3(0.2×)1(0.04×)6(0.4×)
mutate (ms)2(1×)3(1.7×)3(1.7×)0(0.05×)1(0.4×)
sort (ms)119(1×)343(2.9×)212(1.8×)56(0.5×)26(0.2×)
distinct (ms)108(1×)616(5.7×)55(0.5×)15(0.1×)16(0.2×)
innerJoin (ms)66(1×)296(4.5×)47(0.7×)15(0.2×)490(7.4×)
leftJoin (ms)50(1×)400(8×)56(1.1×)17(0.3×)912(18.2×)
outerJoin (ms)99(1×)1245(12.6×)66(0.7×)33(0.3×)807(8.2×)
pivotLonger (ms)246(1×)287(1.2×)64(0.3×)9(0.04×)39(0.2×)
pivotWider (ms)4(1×)4(1×)9(2.5×)4(1×)3(0.8×)
summarize (ms)157(1×)79(0.5×)8(0.05×)2(0.02×)8(0.05×)