KalamDB Benchmark Report

Performance analysis — v0.5.3-rc.1
http://127.0.0.1:2900 2026-06-17T13:16:09.191881+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
20Faster
14Same
4Slower
against 2026-06-02T17:23:56.515243+00:00
213.668s
Measured Benchmark Time
281.523s
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.81 GiB
Used Memory
11.19 GiB
Memory Usage
46.6%
OS
Darwin macOS 26.5.1
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
100300µs291µs361µs418µs261µs420µs3.3K30.0ms🟢 Excellent↓6% slower
PASSdrop_tableDDL
DROP TABLE on a previously created table
100257.2ms257.3ms258.5ms259.0ms254.1ms259.2ms425.722s🟡 Acceptable~ 257671µs prior
PASSsingle_insertInsert
INSERT a single row into a table
100229µs238µs296µs306µs156µs345µs4.4K22.9ms🟢 Excellent↑18% faster
PASSbulk_insertInsert
One INSERT statement with 50 rows (statement-scoped transaction)
1001.29ms1.23ms1.68ms1.89ms1.00ms2.06ms776128.8ms🟢 Excellent↑6% faster
PASStransaction_multi_insertInsert
Explicit BEGIN/COMMIT with 50 single-row INSERT statements
1001.43ms1.38ms1.81ms2.24ms1.15ms2.25ms699143.1ms🟢 Excellent↑14% faster
PASSselect_allSelect
SELECT * from a 200-row table
100596µs578µs772µs838µs491µs841µs1.7K59.6ms🟢 Excellent↑21% faster
PASSselect_by_filterSelect
SELECT with WHERE clause on a 200-row table
100327µs317µs418µs429µs257µs522µs3.1K32.7ms🟢 Excellent↑23% faster
PASSselect_countSelect
SELECT COUNT(*) on a 200-row table
100538µs520µs681µs697µs426µs753µs1.9K53.8ms🟢 Excellent↓8% slower
PASSselect_order_by_limitSelect
SELECT with ORDER BY + LIMIT 10 on a 200-row table
100674µs626µs907µs931µs558µs1.01ms1.5K67.4ms🟢 Excellent↓10% slower
PASSsingle_updateUpdate
UPDATE a single row by filter condition
100716µs678µs884µs939µs604µs1.06ms1.4K71.6ms🟢 Excellent↑17% faster
PASSsingle_deleteDelete
DELETE a single row by filter condition
100928µs897µs1.10ms1.35ms789µs1.39ms1.1K92.8ms🟢 Excellent↑9% faster
PASSconcurrent_insertConcurrent
N concurrent INSERT operations in parallel (N = concurrency setting)
100959µs848µs1.42ms1.75ms637µs5.62ms1.0K95.9ms🟢 Excellent↑7% faster
PASSconcurrent_selectConcurrent
N concurrent SELECT operations in parallel (N = concurrency setting)
100692µs662µs889µs971µs553µs991µs1.4K69.2ms🟢 Excellent↑7% 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 = ?
100272µs268µs312µs362µs237µs379µs3.7K27.2ms🟢 Excellent~ 274µs prior
PASSaggregate_querySelect
GROUP BY + SUM/AVG/COUNT on a 10K-row table (analytical query performance)
10016.9ms16.7ms19.6ms20.7ms15.9ms20.8ms591.693s🟡 Acceptable~ 16713µs prior
PASSmulti_table_joinSelect
SELECT with subquery across two tables (200 customers, 1000 orders)
1001.98ms1.95ms2.23ms2.29ms1.87ms2.31ms504198.4ms🟢 Excellent~ 1963µs prior
PASSlarge_payload_insertInsert
INSERT rows with ~4KB TEXT payloads (serialization + storage throughput)
1001.27ms1.18ms1.79ms2.02ms1.05ms2.19ms789126.7ms🟢 Excellent↑6% faster
PASSwide_column_insertInsert
INSERT into a 20-column table (wide schema overhead)
100828µs764µs1.23ms1.33ms636µs1.68ms1.2K82.8ms🟢 Excellent↑11% faster
PASSbulk_deleteDelete
DELETE 100 rows at once with a range filter (bulk deletion)
10042.1ms41.9ms47.2ms48.3ms37.2ms49.7ms244.208s🟢 Excellent~ 42973µs prior
PASSsequential_crudDML
INSERT → UPDATE → SELECT → DELETE full DML lifecycle per iteration
1001.57ms1.45ms1.83ms2.08ms1.25ms10.6ms638156.8ms🟢 Excellent↑7% faster
PASSalter_tableDDL
ALTER TABLE ADD COLUMN + DROP COLUMN (schema evolution latency)
100872µs834µs1.14ms1.59ms657µs1.61ms1.1K87.2ms🟢 Excellent↑16% faster
PASSconcurrent_updateConcurrent
N concurrent UPDATE operations on the same table (write contention test)
1001.99ms1.91ms2.48ms2.59ms1.60ms3.28ms503198.7ms🟢 Excellent↑11% faster
PASSconcurrent_mixed_dmlConcurrent
Concurrent INSERT + UPDATE + DELETE on the same table (multi-op contention)
1002.06ms2.00ms2.66ms2.71ms1.58ms2.83ms486205.9ms🟢 Excellent↑12% faster
PASSnamespace_isolationConcurrent
Concurrent queries across 5 different namespaces (isolation test)
100985µs948µs1.18ms1.27ms854µs1.35ms1.0K98.5ms🟢 Excellent↑15% faster
PASSsubscribe_initial_loadSubscribe
Subscribe to a 1000-row user table and receive the full initial data batch
1003.96ms3.89ms4.44ms4.83ms3.82ms5.16ms252396.3ms🟢 Excellent~ 3919µs prior
PASSsubscribe_change_latencySubscribe
Latency from INSERT to subscriber receiving the change notification
10044.9ms44.1ms49.1ms64.9ms41.9ms65.2ms224.495s🟡 Acceptable~ 43800µs prior
PASSreconnect_subscribeSubscribe
Disconnect and re-subscribe to a user table (reconnection overhead)
1009.74ms9.84ms10.7ms11.6ms8.32ms12.0ms103973.5ms🟢 Excellent↓12% slower
PASSflushed_parquet_queryStorage
SELECT from a shared table with 20 flushed Parquet files (200K rows)
10078.3ms89.7ms127.7ms131.0ms14.1ms131.1ms137.826s🟡 Acceptable~ 78779µs prior
PASSconcurrent_subscribersLoad
N WebSocket live-query subscribers receiving changes from concurrent writes
1001.539s1.540s1.556s1.559s1.516s1.560s12.56m🟢 Excellent~ 1548141µs prior
PASSconcurrent_publishersLoad
N concurrent INSERTs into a topic-sourced table (measures publish overhead)
1001.03ms1.02ms1.24ms1.63ms808µs1.65ms971103.0ms🟢 Excellent↑8% faster
PASSconcurrent_consumersLoad
N concurrent topic CONSUME calls pulling messages in parallel
100505µs493µs658µs682µs392µs688µs2.0K50.5ms🟢 Excellent↑21% 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
10087.2ms86.4ms91.8ms97.5ms84.2ms105.3ms118.724s🟢 Excellent~ 86317µs prior
PASScreate_userLoad
CREATE USER (auth subsystem stress test)
1001.11ms1.02ms1.72ms1.95ms852µs2.13ms902110.9ms🟢 Excellent~ 1104µs prior
PASSdrop_userLoad
DROP USER (auth subsystem teardown stress test)
100213µs210µs245µs286µs185µs294µs4.7K21.3ms🟢 Excellent~ 208µs prior
PASSconnection_stormLoad
N simultaneous login + SQL + cycles (connection setup overhead)
1001.81ms1.79ms1.97ms2.06ms1.65ms2.23ms553180.8ms🟢 Excellent↑99% 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.29ms1.27ms1.52ms1.63ms1.00ms2.63ms775129.1ms🟢 Excellent↑5% faster
PASSwide_fanout_queryLoad
N concurrent large-result-set SELECTs (serialization + memory pressure)
1003.99ms3.98ms4.21ms4.30ms3.68ms5.46ms251398.8ms🟢 Excellent~ 3914µs prior
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.716s2.716s2.716s2.716s2.716s2.716s02.716s🟢 Excellent~ 2720009µs prior
Whole Bench Totals213.668sWall clock 281.523s