Skip to content

Latest commit

 

History

History
97 lines (82 loc) · 3.82 KB

File metadata and controls

97 lines (82 loc) · 3.82 KB

SQL Parser Performance Report

Date: 2026-03-25 00:53 UTC Host: ci-big6-202511.vm CPU: AMD Ryzen 9 5950X 16-Core Processor OS: Linux 6.17.0-14-generic Compiler: g++ (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0 Git: main @ 3fcb504 Unit tests: 430 passing


Benchmark Results (Release -O3)

Operation Latency Target Status
BM_Classify_Insert 185 ns <500ns MET
BM_Classify_Update 191 ns <500ns MET
BM_Classify_Delete 143 ns <500ns MET
BM_Classify_Begin 28.9 ns <100ns MET
BM_Set_Simple 114 ns <300ns MET
BM_Set_Names 112 ns <300ns MET
BM_Set_MultiVar 241 ns <300ns MET
BM_Set_FunctionRHS 178 ns <300ns MET
BM_Select_Simple 176 ns <500ns MET
BM_Select_MultiColumn 361 ns <500ns MET
BM_Select_Join 457 ns <2us MET
BM_Select_Complex 1048 ns <2us MET
BM_Select_MultiJoin 1010 ns <2us MET
BM_Emit_SetSimple 118 ns <500ns MET
BM_Emit_SelectSimple 232 ns <500ns MET
BM_ArenaReset 3.70 ns <10ns MET
BM_PgSQL_Select_Simple 182 ns
BM_PgSQL_Set_Simple 94.1 ns
BM_MT_Set_Simple/threads:1 115 ns
BM_MT_Set_Simple/threads:2 111 ns
BM_MT_Set_Simple/threads:4 119 ns
BM_MT_Set_Simple/threads:8 121 ns
BM_MT_Select_Simple/threads:1 185 ns
BM_MT_Select_Simple/threads:2 186 ns
BM_MT_Select_Simple/threads:4 187 ns
BM_MT_Select_Simple/threads:8 200 ns
BM_MT_Select_Complex/threads:1 1023 ns
BM_MT_Select_Complex/threads:2 1076 ns
BM_MT_Select_Complex/threads:4 1068 ns
BM_MT_Select_Complex/threads:8 1135 ns
BM_MT_Classify_Begin/threads:1 30.5 ns
BM_MT_Classify_Begin/threads:2 30.2 ns
BM_MT_Classify_Begin/threads:4 30.1 ns
BM_MT_Classify_Begin/threads:8 31.4 ns
BM_Percentile_Set_Simple 892 ns
BM_Percentile_Select_Simple 971 ns
BM_Percentile_Select_Complex 1686 ns
BM_Percentile_Classify_Begin 822 ns

Multi-Threaded Scaling (per-thread latency)

Operation 1 thread 2 threads 4 threads 8 threads
BM_MT_Set_Simple 115ns 111ns 119ns 121ns
BM_MT_Select_Simple 185ns 186ns 187ns 200ns
BM_MT_Select_Complex 1023ns 1076ns 1068ns 1135ns
BM_MT_Classify_Begin 30.5ns 30.2ns 30.1ns 31.4ns

Percentile Latency

Operation avg p50 p95 p99 min max
BM_Percentile_Set_Simple 923.356ns 902ns 1.012kns 1.252kns 871ns 47.558kns
BM_Percentile_Select_Simple 1.01098kns 992ns 1.092kns 1.382kns 941ns 61.614kns
BM_Percentile_Select_Complex 1.75203kns 1.713kns 1.823kns 2.635kns 1.673kns 217.482kns
BM_Percentile_Classify_Begin 848.873ns 832ns 891ns 1.272kns 791ns 229.433kns

Corpus Test Results

Corpus Dialect Queries OK PARTIAL ERROR
PostgreSQL regression pgsql 55553 55342 (99.6202%) 204 7
MySQL MTR mysql 2270 2268 (99.9119%) 2 0
CockroachDB pgsql 17429 16570 (95.0714%) 859 0
SQLGlot mysql 1450 1424 (98.2069%) 13 13
sqlparser-rs MySQL mysql 424 424 (100%) 0 0
sqlparser-rs PostgreSQL pgsql 471 468 (99.3631%) 3 0
sqlparser-rs Common mysql 1536 1528 (99.4792%) 8 0
Vitess mysql 2291 2286 (99.7818%) 5 0
TiDB mysql 5043 5031 (99.762%) 12 0
TOTAL 86467 85341 1106 20

Generated by scripts/run_benchmarks.sh