KalamDB Benchmark Report

Performance analysis — v0.5.2-rc.1
http://127.0.0.1:2900 2026-06-02T13:42:35.941473+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
30Faster
3Same
5Slower
against 2026-05-05T14:50:41.735687+00:00
231.024s
Measured Benchmark Time
299.842s
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
16.05 GiB
Used Memory
7.95 GiB
Memory Usage
33.1%
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
100276µs268µs337µs368µs245µs395µs3.6K27.6ms🟢 Excellent↑31% faster
PASSdrop_tableDDL
DROP TABLE on a previously created table
100258.4ms258.5ms259.6ms260.0ms256.4ms260.1ms425.836s🟡 Acceptable↓5366% slower
PASSsingle_insertInsert
INSERT a single row into a table
100291µs278µs376µs538µs194µs1.05ms3.4K29.1ms🟢 Excellent↓7% slower
PASSbulk_insertInsert
One INSERT statement with 50 rows (statement-scoped transaction)
1001.36ms1.22ms2.14ms2.66ms1.04ms3.12ms737135.7ms🟢 Excellent↓38% slower
PASStransaction_multi_insertInsert
Explicit BEGIN/COMMIT with 50 single-row INSERT statements
1001.53ms1.39ms2.51ms3.19ms1.19ms3.19ms655152.6ms🟢 Excellent↑52% faster
PASSselect_allSelect
SELECT * from a 200-row table
100717µs656µs1.09ms1.26ms472µs2.01ms1.4K71.7ms🟢 Excellent↑10% faster
PASSselect_by_filterSelect
SELECT with WHERE clause on a 200-row table
100450µs399µs718µs1.19ms310µs1.21ms2.2K45.0ms🟢 Excellent↓11% slower
PASSselect_countSelect
SELECT COUNT(*) on a 200-row table
100619µs566µs935µs1.29ms431µs1.53ms1.6K61.9ms🟢 Excellent~ 628µs prior
PASSselect_order_by_limitSelect
SELECT with ORDER BY + LIMIT 10 on a 200-row table
100728µs646µs1.13ms1.23ms510µs1.51ms1.4K72.8ms🟢 Excellent↑10% faster
PASSsingle_updateUpdate
UPDATE a single row by filter condition
100769µs691µs1.20ms2.07ms547µs2.10ms1.3K76.9ms🟢 Excellent↑15% faster
PASSsingle_deleteDelete
DELETE a single row by filter condition
100931µs868µs1.33ms1.40ms778µs1.61ms1.1K93.1ms🟢 Excellent↑30% faster
PASSconcurrent_insertConcurrent
N concurrent INSERT operations in parallel (N = concurrency setting)
100865µs749µs1.36ms1.65ms680µs4.46ms1.2K86.5ms🟢 Excellent↑37% faster
PASSconcurrent_selectConcurrent
N concurrent SELECT operations in parallel (N = concurrency setting)
100558µs532µs813µs1.02ms475µs1.06ms1.8K55.8ms🟢 Excellent↑54% 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 = ?
100263µs262µs294µs337µs237µs339µs3.8K26.3ms🟢 Excellent↑33% faster
PASSaggregate_querySelect
GROUP BY + SUM/AVG/COUNT on a 10K-row table (analytical query performance)
10016.7ms16.7ms17.2ms17.3ms16.0ms17.8ms601.667s🟡 Acceptable↑41% faster
PASSmulti_table_joinSelect
SELECT with subquery across two tables (200 customers, 1000 orders)
1001.99ms1.97ms2.15ms2.32ms1.89ms2.47ms503198.8ms🟢 Excellent↑37% faster
PASSlarge_payload_insertInsert
INSERT rows with ~4KB TEXT payloads (serialization + storage throughput)
1001.34ms1.14ms2.48ms2.98ms1.03ms3.20ms744134.3ms🟢 Excellent↑19% faster
PASSwide_column_insertInsert
INSERT into a 20-column table (wide schema overhead)
100926µs782µs1.59ms1.93ms604µs2.69ms1.1K92.6ms🟢 Excellent~ 919µs prior
PASSbulk_deleteDelete
DELETE 100 rows at once with a range filter (bulk deletion)
10042.2ms42.3ms47.5ms48.2ms36.4ms48.4ms244.224s🟢 Excellent↑39% faster
PASSsequential_crudDML
INSERT → UPDATE → SELECT → DELETE full DML lifecycle per iteration
1001.61ms1.42ms2.32ms3.67ms1.15ms9.93ms620161.3ms🟢 Excellent↑29% faster
PASSalter_tableDDL
ALTER TABLE ADD COLUMN + DROP COLUMN (schema evolution latency)
100802µs759µs919µs1.67ms700µs1.86ms1.2K80.2ms🟢 Excellent↑35% faster
PASSconcurrent_updateConcurrent
N concurrent UPDATE operations on the same table (write contention test)
1001.89ms1.81ms2.52ms2.61ms1.31ms3.33ms530188.8ms🟢 Excellent↑42% faster
PASSconcurrent_mixed_dmlConcurrent
Concurrent INSERT + UPDATE + DELETE on the same table (multi-op contention)
1002.11ms2.10ms2.55ms2.72ms1.66ms2.81ms474210.8ms🟢 Excellent↑35% faster
PASSnamespace_isolationConcurrent
Concurrent queries across 5 different namespaces (isolation test)
100930µs915µs1.08ms1.13ms807µs1.16ms1.1K93.0ms🟢 Excellent↑49% faster
PASSsubscribe_initial_loadSubscribe
Subscribe to a 1000-row user table and receive the full initial data batch
1003.89ms3.87ms4.08ms4.27ms3.79ms4.34ms257389.0ms🟢 Excellent↑39% faster
PASSsubscribe_change_latencySubscribe
Latency from INSERT to subscriber receiving the change notification
10044.1ms44.0ms45.8ms47.2ms42.1ms48.0ms234.410s🟡 Acceptable↑15% faster
PASSreconnect_subscribeSubscribe
Disconnect and re-subscribe to a user table (reconnection overhead)
10011.7ms11.7ms12.7ms13.1ms10.1ms13.3ms851.171s🟢 Excellent↓16% slower
PASSflushed_parquet_queryStorage
SELECT from a shared table with 20 flushed Parquet files (200K rows)
10077.8ms88.5ms128.4ms140.2ms13.7ms140.8ms137.777s🟡 Acceptable↑49% faster
PASSconcurrent_subscribersLoad
N WebSocket live-query subscribers receiving changes from concurrent writes
1001.541s1.542s1.558s1.559s1.520s1.561s12.57m🟢 Excellent~ 1554848µs prior
PASSconcurrent_publishersLoad
N concurrent INSERTs into a topic-sourced table (measures publish overhead)
1001.10ms1.05ms1.45ms1.80ms847µs1.81ms911109.7ms🟢 Excellent↑25% faster
PASSconcurrent_consumersLoad
N concurrent topic CONSUME calls pulling messages in parallel
100559µs547µs713µs806µs414µs836µs1.8K55.9ms🟢 Excellent↑9% faster
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
10081.7ms81.5ms84.2ms86.0ms79.1ms86.4ms128.174s🟢 Excellent↑46% faster
PASScreate_userLoad
CREATE USER (auth subsystem stress test)
100990µs969µs1.09ms1.11ms912µs1.15ms1.0K99.0ms🟢 Excellent↑20% faster
PASSdrop_userLoad
DROP USER (auth subsystem teardown stress test)
100200µs196µs240µs287µs173µs303µs5.0K20.0ms🟢 Excellent↑28% faster
PASSconnection_stormLoad
N simultaneous login + SQL + cycles (connection setup overhead)
100176.4ms176.2ms177.4ms178.5ms175.4ms178.9ms617.637s🟢 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.22ms1.21ms1.47ms1.56ms983µs1.56ms818122.3ms🟢 Excellent↑45% faster
PASSwide_fanout_queryLoad
N concurrent large-result-set SELECTs (serialization + memory pressure)
1003.98ms3.95ms4.20ms4.39ms3.60ms6.78ms251398.4ms🟢 Excellent↑33% 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.727s2.727s2.727s2.727s2.727s2.727s02.727s🟢 Excellent↑4% faster
Whole Bench Totals231.024sWall clock 299.842s