KalamDB Benchmark Report

Performance analysis — v0.5.6-rc.0
http://127.0.0.1:2900 2026-08-14T16:41:01.280322+00:00 100 iters 5 warmup 10 concurrency 100.0K max subs
38
Total Benchmarks
38
Passed
0
Failed
Verdict Mix
34Excellent
3Acceptable
1Slow
successful benchmarks only
Compared To Previous
11Faster
8Same
19Slower
against 2026-06-17T13:16:09.191055+00:00
221.106s
Measured Benchmark Time
287.863s
Wall Clock Duration
System Information
Hostname
MacBook-Pro.local
Machine Model
Mac17,9
CPU Model
Apple M5 Pro
CPU Cores
15 logical / 15 physical
Total Memory
24.00 GiB
Available Memory
13.77 GiB
Used Memory
10.23 GiB
Memory Usage
42.6%
OS
Darwin macOS 26.5.2
Kernel
25.5.0
Architecture
aarch64

Latency by Operation (µs)

Throughput (ops/sec)

Avg Latency by Category (µs)

Detailed Results
Status Benchmark Category Description Iters Mean P50 P95 P99 Min Max Ops/sec Total Verdict vs Prev
PASScreate_tableDDL
CREATE TABLE with 3 columns
100320µs298µs403µs561µs259µs847µs3.1K32.0ms🟢 Excellent↓7% slower
PASSdrop_tableDDL
DROP TABLE on a previously created table
100257.4ms257.3ms259.0ms259.8ms255.2ms260.2ms425.737s🟡 Acceptable~ 257216µs prior
PASSsingle_insertInsert
INSERT a single row into a table
100191µs187µs232µs295µs167µs364µs5.2K19.1ms🟢 Excellent↑17% faster
PASSbulk_insertInsert
One INSERT statement with 50 rows (statement-scoped transaction)
100914µs880µs1.27ms1.37ms709µs1.47ms1.1K91.4ms🟢 Excellent↑29% faster
PASStransaction_multi_insertInsert
Explicit BEGIN/COMMIT with 50 single-row INSERT statements
1001.25ms1.18ms1.83ms2.12ms969µs2.21ms800125.1ms🟢 Excellent↑13% faster
PASSselect_allSelect
SELECT * from a 200-row table
100537µs524µs623µs740µs454µs832µs1.9K53.7ms🟢 Excellent↑10% faster
PASSselect_by_filterSelect
SELECT with WHERE clause on a 200-row table
100345µs320µs544µs654µs162µs672µs2.9K34.5ms🟢 Excellent↓5% slower
PASSselect_countSelect
SELECT COUNT(*) on a 200-row table
100546µs522µs669µs761µs459µs775µs1.8K54.6ms🟢 Excellent~ 538µs prior
PASSselect_order_by_limitSelect
SELECT with ORDER BY + LIMIT 10 on a 200-row table
100582µs564µs722µs762µs478µs768µs1.7K58.2ms🟢 Excellent↑14% faster
PASSsingle_updateUpdate
UPDATE a single row by filter condition
100790µs759µs993µs1.16ms651µs1.17ms1.3K79.0ms🟢 Excellent↓10% slower
PASSsingle_deleteDelete
DELETE a single row by filter condition
1001.05ms984µs1.39ms1.58ms899µs1.59ms956104.6ms🟢 Excellent↓13% slower
PASSconcurrent_insertConcurrent
N concurrent INSERT operations in parallel (N = concurrency setting)
100885µs794µs1.13ms1.38ms630µs5.37ms1.1K88.5ms🟢 Excellent↑8% faster
PASSconcurrent_selectConcurrent
N concurrent SELECT operations in parallel (N = concurrency setting)
100343µs331µs441µs493µs270µs512µs2.9K34.3ms🟢 Excellent↑50% faster
PASSpoint_lookupSelect
SELECT by primary key from a 10K-row table (single row lookup)
Baselinephase-0 performanceQuery Classprimary-key lookupDataset10000 seeded rowsQuery ShapeSELECT * FROM <ns>.point_lookup WHERE id = ?
100247µs242µs316µs374µs93µs374µs4.1K24.7ms🟢 Excellent↑9% faster
PASSaggregate_querySelect
GROUP BY + SUM/AVG/COUNT on a 10K-row table (analytical query performance)
10020.3ms19.8ms22.9ms23.7ms18.3ms23.8ms492.027s🔴 Slow↓20% slower
PASSmulti_table_joinSelect
SELECT with subquery across two tables (200 customers, 1000 orders)
1002.34ms2.28ms2.83ms3.27ms2.09ms3.55ms427234.2ms🟢 Excellent↓18% slower
PASSlarge_payload_insertInsert
INSERT rows with ~4KB TEXT payloads (serialization + storage throughput)
1001.17ms1.01ms1.90ms1.99ms893µs2.23ms852117.4ms🟢 Excellent↑7% faster
PASSwide_column_insertInsert
INSERT into a 20-column table (wide schema overhead)
100714µs668µs973µs1.12ms572µs1.27ms1.4K71.4ms🟢 Excellent↑14% faster
PASSbulk_deleteDelete
DELETE 100 rows at once with a range filter (bulk deletion)
10048.5ms48.5ms55.1ms56.5ms41.5ms57.4ms214.854s🟢 Excellent↓15% slower
PASSsequential_crudDML
INSERT → UPDATE → SELECT → DELETE full DML lifecycle per iteration
1001.54ms1.45ms1.75ms2.10ms1.20ms10.0ms648154.4ms🟢 Excellent~ 1568µs prior
PASSalter_tableDDL
ALTER TABLE ADD COLUMN + DROP COLUMN (schema evolution latency)
100995µs842µs1.91ms2.71ms704µs2.74ms1.0K99.5ms🟢 Excellent↓14% slower
PASSconcurrent_updateConcurrent
N concurrent UPDATE operations on the same table (write contention test)
1002.68ms2.44ms3.62ms4.56ms1.90ms6.30ms373268.2ms🟢 Excellent↓35% slower
PASSconcurrent_mixed_dmlConcurrent
Concurrent INSERT + UPDATE + DELETE on the same table (multi-op contention)
1002.68ms2.65ms3.38ms3.53ms2.01ms3.62ms374267.5ms🟢 Excellent↓30% slower
PASSnamespace_isolationConcurrent
Concurrent queries across 5 different namespaces (isolation test)
1001.18ms1.17ms1.36ms1.50ms1.04ms1.69ms844118.5ms🟢 Excellent↓20% slower
PASSsubscribe_initial_loadSubscribe
Subscribe to a 1000-row user table and receive the full initial data batch
1004.45ms4.41ms4.78ms5.07ms4.32ms5.28ms225445.4ms🟢 Excellent↓12% slower
PASSsubscribe_change_latencySubscribe
Latency from INSERT to subscriber receiving the change notification
10043.6ms43.8ms45.7ms46.2ms40.3ms46.6ms234.359s🟡 Acceptable↑3% faster
PASSreconnect_subscribeSubscribe
Disconnect and re-subscribe to a user table (reconnection overhead)
1009.50ms9.50ms10.5ms11.1ms7.85ms14.1ms105950.5ms🟢 Excellent~ 9735µs prior
PASSflushed_parquet_queryStorage
SELECT from a shared table with 20 flushed Parquet files (200K rows)
100116.1ms136.1ms190.0ms213.8ms24.9ms220.6ms911.614s🟡 Acceptable↓48% slower
PASSconcurrent_subscribersLoad
N WebSocket live-query subscribers receiving changes from concurrent writes
1001.540s1.541s1.560s1.563s1.515s1.564s12.57m🟢 Excellent~ 1538699µs prior
PASSconcurrent_publishersLoad
N concurrent INSERTs into a topic-sourced table (measures publish overhead)
1001.02ms978µs1.31ms1.70ms834µs1.71ms985101.6ms🟢 Excellent~ 1030µs prior
PASSconcurrent_consumersLoad
N concurrent topic CONSUME calls pulling messages in parallel
100692µs648µs909µs1.14ms544µs1.14ms1.4K69.2ms🟢 Excellent↓37% slower
PASSsql_1k_concurrentLoad
1000 concurrent SQL SELECT queries at once (RPS degradation test)
Baselinephase-0 performanceQuery Classconcurrent read burstDataset500 seeded rowsBurst1000 concurrent SQL queriesQuery Mixpk lookup, count, selective order-by limit, narrow projection
100109.2ms108.5ms120.6ms123.8ms99.2ms124.7ms910.922s🟢 Excellent↓25% slower
PASScreate_userLoad
CREATE USER (auth subsystem stress test)
1001.08ms1.01ms1.56ms1.89ms832µs1.94ms929107.6ms🟢 Excellent~ 1109µs prior
PASSdrop_userLoad
DROP USER (auth subsystem teardown stress test)
100216µs204µs280µs333µs184µs499µs4.6K21.6ms🟢 Excellent~ 213µs prior
PASSconnection_stormLoad
N simultaneous login + SQL + cycles (connection setup overhead)
1001.89ms1.86ms2.17ms2.37ms1.70ms2.46ms528189.3ms🟢 Excellent↓5% slower
PASSmixed_read_writeLoad
50/50 concurrent reads + writes on same table (contention test)
Baselinephase-0 performanceQuery Classmixed concurrent read/writeDataset200 seeded rowsMix5 reads / 5 writesRead Shapesrange filter, count-star, order-by desc limit
1001.44ms1.44ms1.76ms1.81ms1.12ms1.83ms696143.7ms🟢 Excellent↓11% slower
PASSwide_fanout_queryLoad
N concurrent large-result-set SELECTs (serialization + memory pressure)
1005.02ms4.71ms7.14ms10.8ms3.82ms12.4ms199502.3ms🟢 Excellent↓26% slower
PASSsubscriber_scaleScale
Progressive live-query subscriber scale and insert fanout verification up to 100.0K
Max100.0KTiers10 checkpoints to 100.0KBatch/Wave1.0K / 500Pause/Timeout0ms / 30.0sShared WS1.0K conns @ 100 subs/ws across 1 targetDelivery Checksall tiers to 10.0K + 25.0K/50.0K/100.0K
12.954s2.954s2.954s2.954s2.954s2.954s02.954s🟢 Excellent↓9% slower
Whole Bench Totals221.106sWall clock 287.863s