KalamDB Benchmark Report

Performance analysis — v0.4.1-beta
http://localhost:8080 2026-03-13T13:18:45.938287+00:00 100 iters 5 warmup 10 concurrency
37
Total Benchmarks
37
Passed
0
Failed
785.95s
Total 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
4.44 GiB
Used Memory
11.56 GiB
Memory Usage
72.2%
OS
Darwin macOS 26.4
Kernel
25.4.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_tableDDLCREATE TABLE with 3 columns10038.4ms39.7ms59.9ms61.5ms12.8ms61.7ms263.84s🟢 Excellent↑25% faster
PASSdrop_tableDDLDROP TABLE on a previously created table100107.7ms107.8ms175.3ms184.4ms30.7ms184.7ms910.77s🟡 Acceptable↓116% slower
PASSsingle_insertInsertINSERT a single row into a table100466µs374µs725µs2.6ms292µs3.8ms2.1K46.6ms🟢 Excellent↓66% slower
PASSbulk_insertInsertINSERT 50 rows in a single statement1001.1ms1.0ms1.4ms2.3ms868µs2.4ms913109.5ms🟢 Excellent↓69% slower
PASSselect_allSelectSELECT * from a 200-row table1001.6ms1.5ms2.0ms3.4ms1.3ms3.7ms615162.7ms🟢 Excellent↓42% slower
PASSselect_by_filterSelectSELECT with WHERE clause on a 200-row table100709µs656µs924µs1.8ms492µs2.6ms1.4K70.9ms🟢 Excellent↓52% slower
PASSselect_countSelectSELECT COUNT(*) on a 200-row table1001.3ms1.2ms1.5ms3.2ms1.0ms3.3ms781128.1ms🟢 Excellent↓48% slower
PASSselect_order_by_limitSelectSELECT with ORDER BY + LIMIT 10 on a 200-row table1001.5ms1.5ms1.8ms3.2ms1.3ms3.6ms650154.0ms🟢 Excellent↓36% slower
PASSsingle_updateUpdateUPDATE a single row by filter condition1001000µs890µs1.2ms4.2ms689µs4.3ms1.0K100.0ms🟢 Excellent↓84% slower
PASSsingle_deleteDeleteDELETE a single row by filter condition100851µs740µs1.0ms4.2ms600µs5.1ms1.2K85.1ms🟢 Excellent↓93% slower
PASSconcurrent_insertConcurrentN concurrent INSERT operations in parallel (N = concurrency setting)1002.2ms1.3ms11.5ms12.9ms943µs13.3ms456219.5ms🟢 Excellent↓257% slower
PASSconcurrent_selectConcurrentN concurrent SELECT operations in parallel (N = concurrency setting)1001.6ms1.5ms1.8ms4.2ms1.3ms4.4ms630158.7ms🟢 Excellent↓72% slower
PASSpoint_lookupSelectSELECT by primary key from a 10K-row table (single row lookup)100693µs658µs848µs924µs522µs2.2ms1.4K69.3ms🟢 Excellent↓59% slower
PASSaggregate_querySelectGROUP BY + SUM/AVG/COUNT on a 10K-row table (analytical query performance)10040.6ms40.5ms42.8ms43.8ms37.3ms45.2ms254.06s🔴 Slow↓7% slower
PASSmulti_table_joinSelectSELECT with subquery across two tables (200 customers, 1000 orders)1004.7ms4.7ms5.2ms6.1ms4.2ms6.3ms212471.1ms🟢 Excellent↓18% slower
PASSlarge_payload_insertInsertINSERT rows with ~4KB TEXT payloads (serialization + storage throughput)1002.2ms2.0ms3.0ms3.2ms1.6ms3.3ms454220.3ms🟢 Excellent↓147% slower
PASSwide_column_insertInsertINSERT into a 20-column table (wide schema overhead)1001.1ms1.0ms1.3ms2.0ms862µs2.2ms943106.0ms🟢 Excellent↓66% slower
PASSbulk_deleteDeleteDELETE 100 rows at once with a range filter (bulk deletion)100182.9ms183.3ms199.2ms201.9ms162.3ms211.2ms518.29s🟡 Acceptable↓4% slower
PASSsequential_crudDMLINSERT → UPDATE → SELECT → DELETE full DML lifecycle per iteration1003.0ms2.7ms5.8ms6.1ms2.3ms6.3ms334299.6ms🟢 Excellent↓55% slower
PASSalter_tableDDLALTER TABLE ADD COLUMN + DROP COLUMN (schema evolution latency)1003.2ms2.9ms6.0ms6.5ms2.2ms6.5ms314318.6ms🟢 Excellent↓62% slower
PASSconcurrent_updateConcurrentN concurrent UPDATE operations on the same table (write contention test)1004.1ms3.5ms10.9ms11.1ms2.0ms11.6ms243411.0ms🟢 Excellent↓100% slower
PASSconcurrent_mixed_dmlConcurrentConcurrent INSERT + UPDATE + DELETE on the same table (multi-op contention)1004.8ms4.5ms8.4ms8.7ms3.2ms8.8ms207483.7ms🟢 Excellent↓27% slower
PASSnamespace_isolationConcurrentConcurrent queries across 5 different namespaces (isolation test)1004.3ms4.1ms8.8ms9.1ms2.8ms9.2ms231433.5ms🟢 Excellent↓109% slower
PASSsubscribe_initial_loadSubscribeSubscribe to a 1000-row user table and receive the full initial data batch10011.0ms10.5ms11.8ms18.9ms9.9ms29.5ms911.10s🟢 Excellent~ 10808µs prior
PASSsubscribe_change_latencySubscribeLatency from INSERT to subscriber receiving the change notification1005.02s5.01s5.02s5.21s5.00s5.26s0502.03s🔴 Slow~ 5018104µs prior
PASSreconnect_subscribeSubscribeDisconnect and re-subscribe to a user table (reconnection overhead)10011.9ms12.0ms12.7ms12.9ms10.4ms13.0ms841.19s🟢 Excellent↑27% faster
PASSflushed_parquet_queryStorageSELECT from a shared table with 20 flushed Parquet files (200K rows)100260.7ms309.4ms360.1ms367.2ms92.0ms371.6ms426.07s🔴 Slow
PASSconcurrent_subscribersLoadN WebSocket live-query subscribers receiving changes from concurrent writes1001.58s1.57s1.61s1.64s1.54s1.65s1157.76s🟢 Excellent↓4% slower
PASSconcurrent_publishersLoadN concurrent INSERTs into a topic-sourced table (measures publish overhead)1002.2ms1.3ms9.2ms13.0ms896µs13.2ms459217.7ms🟢 Excellent↓187% slower
PASSconcurrent_consumersLoadN concurrent topic CONSUME calls pulling messages in parallel100616µs612µs683µs701µs546µs747µs1.6K61.6ms🟢 Excellent~ 628µs prior
PASSsql_1k_concurrentLoad1000 concurrent SQL SELECT queries at once (RPS degradation test)100429.8ms318.8ms911.4ms2.80s259.4ms3.12s242.98s🟢 Excellent↓64% slower
PASScreate_userLoadCREATE USER (auth subsystem stress test)1001.9ms1.7ms2.7ms3.9ms1.4ms5.9ms533187.6ms🟢 Excellent↓10% slower
PASSdrop_userLoadDROP USER (auth subsystem teardown stress test)100551µs502µs813µs1.1ms397µs1.3ms1.8K55.1ms🟢 Excellent↓5% slower
PASSconnection_stormLoadN simultaneous login + SQL + cycles (connection setup overhead)1006.2ms5.6ms9.5ms10.3ms4.5ms11.0ms162618.0ms🟢 Excellent↓29% slower
PASSmixed_read_writeLoad50/50 concurrent reads + writes on same table (contention test)1003.8ms3.5ms7.8ms8.5ms2.1ms8.6ms261383.1ms🟢 Excellent↓27% slower
PASSwide_fanout_queryLoadN concurrent large-result-set SELECTs (serialization + memory pressure)10019.2ms17.9ms30.9ms35.6ms10.7ms39.2ms521.92s🟢 Excellent↓53% slower
PASSsubscriber_scaleScaleProgressive subscriber scale test (up to --max-subscribers, default 100K)110.36s10.36s10.36s10.36s10.36s10.36s010.36s🟢 Excellent