Skip to content

Latest commit

 

History

History
106 lines (91 loc) · 4.21 KB

File metadata and controls

106 lines (91 loc) · 4.21 KB

SQL Parser Performance Report

Date: 2026-04-14 13:26 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 @ 1f65334 Unit tests: 1160 passing


Benchmark Results (Release -O3)

Operation Latency Target Status
BM_Classify_Insert 189 ns <500ns MET
BM_Classify_Update 195 ns <500ns MET
BM_Classify_Delete 143 ns <500ns MET
BM_Classify_Begin 30.2 ns <100ns MET
BM_Set_Simple 107 ns <300ns MET
BM_Set_Names 105 ns <300ns MET
BM_Set_MultiVar 231 ns <300ns MET
BM_Set_FunctionRHS 168 ns <300ns MET
BM_Select_Simple 178 ns <500ns MET
BM_Select_MultiColumn 367 ns <500ns MET
BM_Select_Join 449 ns <2us MET
BM_Select_Complex 1035 ns <2us MET
BM_Select_MultiJoin 1038 ns <2us MET
BM_Emit_SetSimple 119 ns <500ns MET
BM_Emit_SelectSimple 256 ns <500ns MET
BM_ArenaReset 4.62 ns <10ns MET
BM_PgSQL_Select_Simple 194 ns
BM_PgSQL_Set_Simple 92.7 ns
BM_MT_Set_Simple/threads:1 119 ns
BM_MT_Set_Simple/threads:2 116 ns
BM_MT_Set_Simple/threads:4 117 ns
BM_MT_Set_Simple/threads:8 123 ns
BM_MT_Select_Simple/threads:1 189 ns
BM_MT_Select_Simple/threads:2 188 ns
BM_MT_Select_Simple/threads:4 197 ns
BM_MT_Select_Simple/threads:8 202 ns
BM_MT_Select_Complex/threads:1 1181 ns
BM_MT_Select_Complex/threads:2 1130 ns
BM_MT_Select_Complex/threads:4 1410 ns
BM_MT_Select_Complex/threads:8 1216 ns
BM_MT_Classify_Begin/threads:1 28.9 ns
BM_MT_Classify_Begin/threads:2 30.3 ns
BM_MT_Classify_Begin/threads:4 30.5 ns
BM_MT_Classify_Begin/threads:8 32.5 ns
BM_Percentile_Set_Simple 942 ns
BM_Percentile_Select_Simple 1044 ns
BM_Percentile_Select_Complex 1859 ns
BM_Percentile_Classify_Begin 890 ns
BM_Expr_SimpleArith 3.52 ns
BM_Expr_ComplexCompare 13.5 ns
BM_PlanBuild_Simple 277 ns
BM_PlanBuild_Complex 1196 ns
BM_Pipeline_Simple 9479 ns
BM_Op_Filter1000 53221 ns
BM_Op_Join1000 110134 ns
BM_Op_Sort1000 287953 ns
BM_Op_Aggregate1000 98400 ns

Multi-Threaded Scaling (per-thread latency)

Operation 1 thread 2 threads 4 threads 8 threads
BM_MT_Set_Simple 119ns 116ns 117ns 123ns
BM_MT_Select_Simple 189ns 188ns 197ns 202ns
BM_MT_Select_Complex 1181ns 1130ns 1410ns 1216ns
BM_MT_Classify_Begin 28.9ns 30.3ns 30.5ns 32.5ns

Percentile Latency

Operation avg p50 p95 p99 min max
BM_Percentile_Set_Simple 971.958ns 942ns 1.192kns 1.383kns 891ns 188.709kns
BM_Percentile_Select_Simple 1.08847kns 1.012kns 1.533kns 1.824kns 942ns 45.023kns
BM_Percentile_Select_Complex 1.94169kns 1.804kns 2.845kns 3.446kns 1.693kns 84.456kns
BM_Percentile_Classify_Begin 912.263ns 852ns 1.182kns 1.403kns 781ns 247.707kns

Corpus Test Results

Corpus Dialect Queries OK PARTIAL ERROR
PostgreSQL regression pgsql 55553 55508 (99.919%) 38 7
MySQL MTR mysql 2270 2268 (99.9119%) 2 0
CockroachDB pgsql 17429 17422 (99.9598%) 7 0
SQLGlot mysql 1450 1437 (99.1034%) 0 13
sqlparser-rs MySQL mysql 424 424 (100%) 0 0
sqlparser-rs PostgreSQL pgsql 471 471 (100%) 0 0
sqlparser-rs Common mysql 1536 1536 (100%) 0 0
Vitess mysql 2291 2291 (100%) 0 0
TiDB mysql 5043 5037 (99.881%) 6 0
TOTAL 86467 86394 53 20

Generated by scripts/run_benchmarks.sh