Skip to content

Commit bf1cd01

Browse files
committed
docs: remove ReadySet, document libpg_query -O3 optimization flags
1 parent 239bf86 commit bf1cd01

1 file changed

Lines changed: 4 additions & 22 deletions

File tree

docs/benchmarks/REPRODUCING.md

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ ls -la third_party/libpg_query/libpg_query.a
7272

7373
**What libpg_query is:** This is PostgreSQL's actual parser (Bison-generated), extracted from the PostgreSQL source code by pganalyze. It compiles PostgreSQL's parser, lexer, memory management, and node types into a standalone library. The `pg_query_parse()` function takes a SQL string and returns a JSON-serialized parse tree. The `pg_query_raw_parse()` function (internal API) returns the raw AST without JSON serialization.
7474

75+
**Optimization flags:** libpg_query builds with `-O3 -g` by default (see its Makefile: `CFLAGS_OPT_LEVEL = -O3`). The `-g` flag adds debug symbols but does not affect runtime performance. Both ParserSQL and libpg_query are compiled at `-O3` — this is a fair comparison.
76+
7577
---
7678

7779
## Step 4: Build the comparison benchmark
@@ -153,27 +155,7 @@ xdg-open bench/sqlparser_rs_bench/target/criterion/report/index.html # Linux
153155

154156
---
155157

156-
## Step 7: Optional — ReadySet (nom-sql) benchmark
157-
158-
ReadySet uses `nom-sql`, a nom-based SQL parser. However, ReadySet is transitioning to sqlparser-rs as their primary parser (default: `both-prefer-sqlparser`). Benchmarking nom-sql separately has limited value since it's being phased out.
159-
160-
If you still want to run it:
161-
162-
```bash
163-
# Clone ReadySet (full repo required for workspace dependencies, ~1.3GB)
164-
git clone --depth 1 https://github.com/readysettech/readyset.git /tmp/readyset_full
165-
166-
# Build and run ReadySet's own comparison benchmark (nom-sql vs sqlparser-rs)
167-
cd /tmp/readyset_full
168-
cargo bench -p readyset-sql-parsing --bench parse_comparison 2>&1 | grep -E "time:"
169-
cd -
170-
```
171-
172-
**Note:** ReadySet's benchmark already includes sqlparser-rs comparisons internally, so this mostly confirms our sqlparser-rs numbers.
173-
174-
---
175-
176-
## Step 8: Run the automated comparison script
158+
## Step 7: Run the automated comparison script
177159

178160
The `scripts/run_comparison.sh` script runs all comparisons in sequence:
179161

@@ -185,7 +167,7 @@ This produces console output with all three parser comparisons side by side.
185167

186168
---
187169

188-
## Step 9: Generate the full benchmark report
170+
## Step 8: Generate the full benchmark report
189171

190172
```bash
191173
./scripts/run_benchmarks.sh docs/benchmarks/latest.md

0 commit comments

Comments
 (0)