KalamDB Benchmark Report

Performance analysis — v0.5.2-rc.1
http://127.0.0.1:2900 2026-06-02T17:23:56.516160+00:00 100 iters 5 warmup 10 concurrency 100.0K max subs
38
Total Benchmarks
38
Passed
0
Failed
Verdict Mix
34Excellent
4Acceptable
0Slow
successful benchmarks only
Compared To Previous
31Faster
2Same
5Slower
against 2026-05-05T14:50:41.735687+00:00
232.156s
Measured Benchmark Time
301.052s
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
12.52 GiB
Used Memory
11.48 GiB
Memory Usage
47.8%
OS
Darwin macOS 26.5
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
100284µs276µs343µs398µs242µs408µs3.5K28.4ms🟢 Excellent↑29% faster
PASSdrop_tableDDL
DROP TABLE on a previously created table
100257.7ms257.9ms259.6ms259.9ms254.2ms260.1ms425.767s🟡 Acceptable↓5351% slower
PASSsingle_insertInsert
INSERT a single row into a table
100281µs267µs359µs567µs178µs825µs3.6K28.1ms🟢 Excellent↓4% slower
PASSbulk_insertInsert
One INSERT statement with 50 rows (statement-scoped transaction)
1001.37ms1.23ms2.07ms2.53ms1.03ms2.82ms728137.3ms🟢 Excellent↓39% slower
PASStransaction_multi_insertInsert
Explicit BEGIN/COMMIT with 50 single-row INSERT statements
1001.66ms1.51ms2.77ms3.65ms1.19ms3.74ms603165.8ms🟢 Excellent↑48% faster
PASSselect_allSelect
SELECT * from a 200-row table
100753µs681µs1.24ms1.43ms489µs2.01ms1.3K75.3ms🟢 Excellent↑5% faster
PASSselect_by_filterSelect
SELECT with WHERE clause on a 200-row table
100423µs391µs679µs896µs303µs1.19ms2.4K42.3ms🟢 Excellent↓4% slower
PASSselect_countSelect
SELECT COUNT(*) on a 200-row table
100497µs465µs783µs828µs407µs911µs2.0K49.7ms🟢 Excellent↑21% faster
PASSselect_order_by_limitSelect
SELECT with ORDER BY + LIMIT 10 on a 200-row table
100615µs590µs722µs1.00ms537µs1.07ms1.6K61.5ms🟢 Excellent↑24% faster
PASSsingle_updateUpdate
UPDATE a single row by filter condition
100858µs737µs1.48ms1.72ms565µs1.95ms1.2K85.8ms🟢 Excellent↑5% faster
PASSsingle_deleteDelete
DELETE a single row by filter condition
1001.02ms908µs1.70ms1.94ms783µs2.27ms982101.8ms🟢 Excellent↑23% faster
PASSconcurrent_insertConcurrent
N concurrent INSERT operations in parallel (N = concurrency setting)
1001.03ms808µs1.63ms1.98ms664µs6.05ms975102.6ms🟢 Excellent↑25% faster
PASSconcurrent_selectConcurrent
N concurrent SELECT operations in parallel (N = concurrency setting)
100743µs724µs972µs1.35ms516µs1.36ms1.3K74.3ms🟢 Excellent↑38% 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 = ?
100274µs271µs303µs334µs247µs343µs3.6K27.4ms🟢 Excellent↑30% faster
PASSaggregate_querySelect
GROUP BY + SUM/AVG/COUNT on a 10K-row table (analytical query performance)
10016.7ms16.6ms17.7ms18.6ms15.9ms18.6ms601.671s🟡 Acceptable↑41% faster
PASSmulti_table_joinSelect
SELECT with subquery across two tables (200 customers, 1000 orders)
1001.96ms1.94ms2.15ms2.32ms1.87ms2.38ms510196.3ms🟢 Excellent↑38% faster
PASSlarge_payload_insertInsert
INSERT rows with ~4KB TEXT payloads (serialization + storage throughput)
1001.35ms1.14ms2.44ms2.83ms1.04ms3.36ms742134.8ms🟢 Excellent↑19% faster
PASSwide_column_insertInsert
INSERT into a 20-column table (wide schema overhead)
100926µs766µs1.59ms1.89ms650µs2.16ms1.1K92.6ms🟢 Excellent~ 919µs prior
PASSbulk_deleteDelete
DELETE 100 rows at once with a range filter (bulk deletion)
10043.0ms42.2ms51.7ms53.2ms36.5ms54.4ms234.297s🟢 Excellent↑38% faster
PASSsequential_crudDML
INSERT → UPDATE → SELECT → DELETE full DML lifecycle per iteration
1001.68ms1.47ms2.36ms4.43ms1.17ms11.2ms595168.2ms🟢 Excellent↑26% faster
PASSalter_tableDDL
ALTER TABLE ADD COLUMN + DROP COLUMN (schema evolution latency)
1001.04ms922µs1.66ms2.30ms671µs3.14ms963103.9ms🟢 Excellent↑16% faster
PASSconcurrent_updateConcurrent
N concurrent UPDATE operations on the same table (write contention test)
1002.23ms2.18ms2.96ms3.72ms1.57ms3.98ms448223.3ms🟢 Excellent↑31% faster
PASSconcurrent_mixed_dmlConcurrent
Concurrent INSERT + UPDATE + DELETE on the same table (multi-op contention)
1002.35ms2.05ms3.64ms4.36ms1.62ms4.45ms425235.2ms🟢 Excellent↑28% faster
PASSnamespace_isolationConcurrent
Concurrent queries across 5 different namespaces (isolation test)
1001.16ms1.11ms1.47ms1.61ms896µs1.92ms860116.3ms🟢 Excellent↑36% faster
PASSsubscribe_initial_loadSubscribe
Subscribe to a 1000-row user table and receive the full initial data batch
1003.92ms3.86ms4.30ms5.01ms3.81ms5.09ms255391.9ms🟢 Excellent↑39% faster
PASSsubscribe_change_latencySubscribe
Latency from INSERT to subscriber receiving the change notification
10043.8ms43.8ms45.3ms45.7ms41.5ms46.6ms234.380s🟡 Acceptable↑16% faster
PASSreconnect_subscribeSubscribe
Disconnect and re-subscribe to a user table (reconnection overhead)
1008.68ms8.74ms9.72ms9.87ms6.99ms10.4ms115867.6ms🟢 Excellent↑14% faster
PASSflushed_parquet_queryStorage
SELECT from a shared table with 20 flushed Parquet files (200K rows)
10078.8ms89.7ms129.7ms132.9ms13.9ms137.3ms137.878s🟡 Acceptable↑49% faster
PASSconcurrent_subscribersLoad
N WebSocket live-query subscribers receiving changes from concurrent writes
1001.548s1.550s1.569s1.574s1.519s1.575s12.58m🟢 Excellent~ 1554848µs prior
PASSconcurrent_publishersLoad
N concurrent INSERTs into a topic-sourced table (measures publish overhead)
1001.12ms1.06ms1.49ms1.82ms848µs2.08ms893112.0ms🟢 Excellent↑24% faster
PASSconcurrent_consumersLoad
N concurrent topic CONSUME calls pulling messages in parallel
100639µs596µs1.01ms1.25ms416µs1.25ms1.6K63.9ms🟢 Excellent↓4% 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
10086.3ms85.5ms91.9ms94.2ms81.8ms99.0ms128.632s🟢 Excellent↑43% faster
PASScreate_userLoad
CREATE USER (auth subsystem stress test)
1001.10ms1.01ms1.73ms2.14ms854µs2.23ms906110.4ms🟢 Excellent↑11% faster
PASSdrop_userLoad
DROP USER (auth subsystem teardown stress test)
100208µs205µs234µs292µs180µs312µs4.8K20.8ms🟢 Excellent↑25% faster
PASSconnection_stormLoad
N simultaneous login + SQL + cycles (connection setup overhead)
100176.5ms175.9ms180.6ms184.6ms174.5ms188.2ms617.652s🟢 Excellent↑36% faster
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.36ms1.31ms1.90ms2.04ms971µs2.38ms736135.9ms🟢 Excellent↑39% faster
PASSwide_fanout_queryLoad
N concurrent large-result-set SELECTs (serialization + memory pressure)
1003.91ms3.91ms4.14ms4.19ms3.54ms4.42ms255391.4ms🟢 Excellent↑34% faster
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.720s2.720s2.720s2.720s2.720s2.720s02.720s🟢 Excellent↑4% faster
Whole Bench Totals232.156sWall clock 301.052s