Tag: performance
All the articles with the tag "performance".
Python vs JavaScript DataFrames in the Browser — Live Benchmarks with No Backend
Posted on:March 22, 2026 at 10:00 AMBoth Python (pandas via Pyodide WebAssembly) and JavaScript (arquero) can process DataFrames entirely in the browser. This post runs the same groupby, filter, and pivot benchmarks in both — live, client-side, no server needed — and measures the real tradeoffs.
Node.js Diagnostic Tools — Heap Snapshots, Flame Graphs, and DoctorJS in 2026
Posted on:January 12, 2026 at 10:00 AMThe complete Node.js diagnostics toolkit for 2026: V8 heap snapshots, CPU flame graphs, Clinic.js Doctor and Flame, OpenTelemetry integration, and the new --prof-process workflow. Covers what each tool finds and when to use it.
Python AsyncIO vs Node.js Event Loop — The Differences That Bite You
Posted on:September 8, 2025 at 10:00 AMBoth Python asyncio and Node.js use a single-threaded event loop for concurrency. But the implementation differences are significant: how coroutines suspend, blocking code behavior, thread pool integration, and the GIL's effect on async Python code.
Node.js Memory Leaks — How I Found and Fixed a 2GB Leak in Production
Posted on:June 16, 2025 at 10:00 AMA real case study of a Node.js API that grew to 2GB RSS and crashed weekly. Covers heap snapshot analysis, the --expose-gc flag, closure leaks, EventEmitter leaks, and the three-snapshot technique for finding what's growing.
Vectorization in Python — NumPy vs Pandas vs Polars vs Numba
Posted on:April 14, 2025 at 10:00 AMSystematic benchmarks comparing four vectorization approaches across different dataset sizes and operation types. When to use NumPy directly, when Polars wins, and when Numba's JIT compilation is the only answer.
Node.js Worker Threads — True Parallelism Without the Cluster Mess
Posted on:December 9, 2024 at 10:00 AMNode.js Worker Threads enable true CPU parallelism in a single process. This post covers the communication model, SharedArrayBuffer for zero-copy data sharing, thread pool patterns, and benchmarks showing when Workers outperform cluster vs when they don't.
Polars vs Pandas — A Benchmark That Changed How I Process Data
Posted on:October 14, 2024 at 10:00 AMComprehensive benchmarks comparing Polars and pandas across groupby, join, filter, and window operations on datasets from 1M to 100M rows. Polars wins by 5-20x in most scenarios — here's what that means for your data pipelines.
Node.js Streams and Backpressure — Why Your File Uploads Are Slow
Posted on:September 9, 2024 at 10:00 AMHow Node.js streams work under the hood, what backpressure is and why it matters, and the specific patterns that cause slow uploads, memory bloat, and dropped data. Includes a comparison of buffered vs streaming throughput.
Python Time Series at Scale — Lessons from Processing 400M Financial Records
Posted on:July 22, 2024 at 10:00 AMReal-world lessons from building a time series pipeline that processes 400 million financial data points daily. Covers memory layout, chunked processing, dtype optimization, and the specific pandas/NumPy patterns that keep memory under control at scale.
Profiling Node.js with Clinic.js and DoctorJS — A Real Case Study
Posted on:May 20, 2024 at 10:00 AMA hands-on walkthrough of Clinic.js toolchain — Doctor, Flame, and Bubbleprof — diagnosing real performance bottlenecks in a Node.js API. Includes flame graph interpretation, event loop delay analysis, and the actual code fixes.
Pandas Performance — Stop Using .iterrows() (with Benchmarks)
Posted on:March 14, 2024 at 10:00 AMBenchmarking five approaches to row-level operations in pandas — from the naive .iterrows() to fully vectorized NumPy operations — with real timing numbers. Shows 100-1000x speedups using vectorization and explains why Python's object model makes .iterrows() so slow.
Node.js Event Loop Internals — What Actually Happens When You await
Posted on:February 12, 2024 at 10:00 AMA deep dive into libuv's event loop phases — timers, I/O callbacks, poll, check, and close — explaining exactly what executes when and why. Includes microtask queue ordering, setImmediate vs setTimeout, and common pitfalls that cause production latency spikes.