Race your pandas against SpeedyDb
Drop in a CSV and run the same operation two ways — pandas on a DataFrame, and
SpeedyDb's lazy scan_spdb engine over a columnar .spdb we build
from your data on the spot. This runs the real Python engine (byte-identical to the native
build) inside your browser via Pyodide.
We time three paths: pandas with the frame already in RAM (its fast path), pandas
reading a columnar store each op, and SpeedyDb scanning the .spdb. The last
two are the honest apples-to-apples race; the first is shown so we're straight about pandas'
speed — and the memory it costs to get there.
Bring your data
Choose what to run
Write pandas over df (your upload). We translate a recognized subset —
filter, [[cols]], str.contains, isin,
groupby().mean/sum/min/max, sort_values().head(),
len() — to the lazy engine, and show exactly what ran. Anything else still
times pandas; we never fake an engine run.
◷ the Python engine loads on your first run (then it's cached)
operation:
Time — lower is better
Memory — the honest story