v145 · Web APIs · Perf Comparator

IndexedDB SQLite perf comparator

Run inserts, point gets, range cursors, and full scans against an in-memory IDB store, plot per-operation times, and see how the SQLite backend's row-store changes the shape of the latency curve.

In-memory contexts. The SQLite backend ships first for incognito / Worker sessions. This page benchmarks whatever backend Chrome chose for this context.

workload

code

async function phase(label, fn) {
  const t0 = performance.now();
  await fn();
  return { label, ms: performance.now() - t0 };
}
const results = [];
results.push(await phase('bulk insert', () => insertN(N)));
results.push(await phase('point get x100', () => getN(100)));
results.push(await phase('range cursor', () => rangeAll()));
results.push(await phase('full scan', () => scanAll()));

see also