Browser data processing benchmarks

Broad benchmark of SQLite WASM, Arquero, and DuckDB WASM, covering a mix of transactional and analytical queries.
Each test fetches the 1,000,000 Bandcamp sales dataset before running the tests on a separate browser thread.
Dataset details - 301mb uncompressed, 74mb parquet zstd (Arquero, DuckDB), 100mb Gzip DB (SQLite), 1,000,000 rows, 24 columns
Warning: Inserts and updates are very slow for SQLite OPFS (expect >30s).
Test
Fetch data
Load data
Test 1: SELECT top level metrics - overall count, mean and total sales
Test 2: SELECT group by day and count daily sales and total revenue
Test 3: SELECT for each item type, slug type combination the top 5 countries by overall counts
Test 4: SELECT 10 random rows
Test 5: CREATE an index
Test 6: SELECT 1000 random rows with an index
Test 7: UPDATE 2 fields in 1000 rows with an index
Test 8: INSERT 1000 rows with an index
Test 9: DELETE 1000 rows with an index