KalamDB Benchmark Report

Performance analysis — v0.5.0-beta.1
http://127.0.0.1:2900 2026-05-11T11:39:10.220433+00:00 100 iters 5 warmup 10 concurrency 100.0K max subs
38
Total Benchmarks
38
Passed
0
Failed
Verdict Mix
33Excellent
4Acceptable
1Slow
successful benchmarks only
Compared To Previous
5Faster
20Same
13Slower
against 2026-05-05T14:50:41.735687+00:00
237.313s
Measured Benchmark Time
270.321s
Wall Clock Duration
System Information
Hostname
Jamals-MacBook-Pro.local
Machine Model
MacBookPro18,3
CPU Model
Apple M1 Pro
CPU Cores
10 logical / 10 physical
Total Memory
16.00 GiB
Available Memory
11.40 GiB
Used Memory
4.60 GiB
Memory Usage
28.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
100420µs388µs571µs682µs357µs927µs2.4K42.0ms🟢 Excellent↓4% slower
PASSdrop_tableDDL
DROP TABLE on a previously created table
1005.01ms4.85ms6.18ms6.52ms3.95ms6.81ms200500.8ms🟢 Excellent↓6% slower
PASSsingle_insertInsert
INSERT a single row into a table
100280µs280µs339µs370µs202µs400µs3.6K28.0ms🟢 Excellent↓3% slower
PASSbulk_insertInsert
One INSERT statement with 50 rows (statement-scoped transaction)
100979µs962µs1.12ms1.25ms829µs1.26ms1.0K97.9ms🟢 Excellent~ 986µs prior
PASStransaction_multi_insertInsert
Explicit BEGIN/COMMIT with 50 single-row INSERT statements
1003.16ms3.12ms3.55ms3.72ms2.83ms3.93ms316316.4ms🟡 Acceptable~ 3161µs prior
PASSselect_allSelect
SELECT * from a 200-row table
100786µs775µs860µs937µs753µs946µs1.3K78.6ms🟢 Excellent~ 796µs prior
PASSselect_by_filterSelect
SELECT with WHERE clause on a 200-row table
100415µs398µs492µs699µs322µs810µs2.4K41.5ms🟢 Excellent~ 405µs prior
PASSselect_countSelect
SELECT COUNT(*) on a 200-row table
100619µs609µs701µs764µs582µs785µs1.6K61.9ms🟢 Excellent~ 628µs prior
PASSselect_order_by_limitSelect
SELECT with ORDER BY + LIMIT 10 on a 200-row table
100820µs795µs968µs1.02ms768µs1.12ms1.2K82.0ms🟢 Excellent~ 809µs prior
PASSsingle_updateUpdate
UPDATE a single row by filter condition
100936µs910µs1.18ms1.35ms790µs1.40ms1.1K93.6ms🟢 Excellent↓3% slower
PASSsingle_deleteDelete
DELETE a single row by filter condition
1001.32ms1.28ms1.57ms1.71ms1.20ms1.72ms757132.0ms🟢 Excellent~ 1323µs prior
PASSconcurrent_insertConcurrent
N concurrent INSERT operations in parallel (N = concurrency setting)
1001.41ms1.33ms1.69ms1.84ms1.20ms4.54ms712140.5ms🟢 Excellent~ 1371µs prior
PASSconcurrent_selectConcurrent
N concurrent SELECT operations in parallel (N = concurrency setting)
1001.13ms1.13ms1.30ms1.34ms802µs1.46ms887112.8ms🟢 Excellent↑6% 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 = ?
100396µs388µs473µs571µs320µs585µs2.5K39.6ms🟢 Excellent~ 392µs prior
PASSaggregate_querySelect
GROUP BY + SUM/AVG/COUNT on a 10K-row table (analytical query performance)
10027.9ms27.8ms29.3ms29.6ms26.6ms31.0ms362.790s🔴 Slow~ 28346µs prior
PASSmulti_table_joinSelect
SELECT with subquery across two tables (200 customers, 1000 orders)
1003.07ms3.06ms3.20ms3.42ms2.98ms3.55ms325307.5ms🟢 Excellent~ 3143µs prior
PASSlarge_payload_insertInsert
INSERT rows with ~4KB TEXT payloads (serialization + storage throughput)
1001.62ms1.62ms1.78ms1.88ms1.47ms1.96ms616162.3ms🟢 Excellent~ 1657µs prior
PASSwide_column_insertInsert
INSERT into a 20-column table (wide schema overhead)
100888µs866µs1.01ms1.06ms823µs1.06ms1.1K88.8ms🟢 Excellent↑3% faster
PASSbulk_deleteDelete
DELETE 100 rows at once with a range filter (bulk deletion)
10067.7ms67.5ms75.5ms82.8ms59.8ms83.5ms156.771s🟡 Acceptable~ 69050µs prior
PASSsequential_crudDML
INSERT → UPDATE → SELECT → DELETE full DML lifecycle per iteration
1002.75ms2.67ms3.56ms4.11ms1.73ms10.8ms364275.0ms🟢 Excellent↓21% slower
PASSalter_tableDDL
ALTER TABLE ADD COLUMN + DROP COLUMN (schema evolution latency)
1001.39ms1.30ms1.98ms2.37ms1.11ms2.64ms717139.4ms🟢 Excellent↓13% slower
PASSconcurrent_updateConcurrent
N concurrent UPDATE operations on the same table (write contention test)
1003.67ms3.65ms4.72ms5.83ms2.18ms6.11ms272367.3ms🟢 Excellent↓13% slower
PASSconcurrent_mixed_dmlConcurrent
Concurrent INSERT + UPDATE + DELETE on the same table (multi-op contention)
1003.39ms3.43ms4.36ms4.40ms2.43ms4.43ms295339.3ms🟢 Excellent↓4% slower
PASSnamespace_isolationConcurrent
Concurrent queries across 5 different namespaces (isolation test)
1001.92ms1.88ms2.32ms2.85ms1.54ms2.98ms522191.6ms🟢 Excellent↓6% slower
PASSsubscribe_initial_loadSubscribe
Subscribe to a 1000-row user table and receive the full initial data batch
1006.87ms6.81ms7.35ms7.44ms6.37ms7.48ms146686.8ms🟢 Excellent↓7% slower
PASSsubscribe_change_latencySubscribe
Latency from INSERT to subscriber receiving the change notification
10047.0ms46.8ms51.4ms54.5ms40.7ms55.8ms214.696s🟡 Acceptable↑9% faster
PASSreconnect_subscribeSubscribe
Disconnect and re-subscribe to a user table (reconnection overhead)
10010.1ms9.82ms11.8ms12.2ms8.19ms14.3ms991.009s🟢 Excellent~ 10051µs prior
PASSflushed_parquet_queryStorage
SELECT from a shared table with 20 flushed Parquet files (200K rows)
100153.2ms185.9ms249.0ms254.1ms24.2ms254.3ms715.316s🟡 Acceptable~ 153249µs prior
PASSconcurrent_subscribersLoad
N WebSocket live-query subscribers receiving changes from concurrent writes
1001.550s1.551s1.574s1.576s1.517s1.578s12.58m🟢 Excellent~ 1554848µs prior
PASSconcurrent_publishersLoad
N concurrent INSERTs into a topic-sourced table (measures publish overhead)
1001.54ms1.50ms1.83ms2.00ms1.30ms2.37ms649154.1ms🟢 Excellent↓5% slower
PASSconcurrent_consumersLoad
N concurrent topic CONSUME calls pulling messages in parallel
100657µs646µs763µs978µs555µs995µs1.5K65.7ms🟢 Excellent↓7% 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
100155.2ms153.1ms166.3ms179.1ms146.2ms179.4ms615.518s🟢 Excellent~ 152294µs prior
PASScreate_userLoad
CREATE USER (auth subsystem stress test)
1001.23ms1.21ms1.38ms1.46ms1.16ms1.50ms815122.7ms🟢 Excellent~ 1237µs prior
PASSdrop_userLoad
DROP USER (auth subsystem teardown stress test)
100265µs256µs325µs394µs237µs413µs3.8K26.5ms🟢 Excellent↑5% faster
PASSconnection_stormLoad
N simultaneous login + SQL + cycles (connection setup overhead)
100278.9ms276.5ms304.2ms326.2ms265.5ms337.0ms427.891s🟢 Excellent~ 275406µs prior
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
1002.05ms2.05ms2.61ms2.71ms1.15ms2.74ms487205.2ms🟢 Excellent↑7% faster
PASSwide_fanout_queryLoad
N concurrent large-result-set SELECTs (serialization + memory pressure)
1006.31ms6.17ms6.92ms8.55ms5.61ms11.9ms158631.1ms🟢 Excellent↓6% 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.819s2.819s2.819s2.819s2.819s2.819s02.819s🟢 Excellent~ 2839613µs prior
Whole Bench Totals237.313sWall clock 270.321s