Skip to content

Commit 389d81d

Browse files
committed
docs: update test counts to 580+, fix prefetch description accuracy
- README + architecture.mdx: update test counts from 460+/550+ to 580+ - README + why-querymode.mdx: clarify prefetch is 1-page-ahead with 8-concurrent R2 range reads per page (was misleadingly implying 8 pages prefetched)
1 parent a405963 commit 389d81d

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ npx tsx examples/nextjs-api-route.ts
252252
- **Multi-format support** — Lance, Parquet, and Iceberg tables
253253
- **Local mode** — same API reads Lance/Parquet files from disk or HTTP (Node/Bun)
254254
- **Fragment DO pool** — fan-out parallel scanning for multi-fragment datasets (max 100 slots per datacenter)
255-
- **460+ tests** — unit tests cover footer parsing, column decoding, Parquet/Thrift, merging, aggregates, VIP cache, WASM integration, SQL, partition catalog, materialized executor; 110+ conformance tests validate every operator against DuckDB at 1M-5M row scale
255+
- **580+ tests** — unit tests cover footer parsing, column decoding, Parquet/Thrift, merging, aggregates, VIP cache, WASM integration, SQL, partition catalog, materialized executor, toCode decompiler; 110+ conformance tests validate every operator against DuckDB at 1M-5M row scale
256256
- **CI benchmarks** — head-to-head QueryMode (Miniflare) vs DuckDB (native) on every push, results posted to [GitHub Actions summary](https://github.com/teamchong/querymode/actions/workflows/ci.yml)
257257

258258
## What doesn't exist yet
@@ -345,7 +345,7 @@ QueryMode: plan instantly (footer cached) → fetch ONLY matching byte
345345
3. **Coalesced Range reads** — nearby byte ranges merged within 64KB gaps into fewer R2 requests.
346346
4. **Zero-copy WASM** — raw bytes from R2 are passed directly to Zig SIMD. No Arrow conversion, no DataFrame construction.
347347
5. **VIP eviction** — frequently-accessed table footers are protected from cache eviction by cold one-off accesses.
348-
6. **Bounded prefetch** — up to 8 R2 reads in-flight simultaneously, overlapping I/O with compute.
348+
6. **Bounded prefetch**prefetch next page while WASM decodes current page, with up to 8 concurrent R2 range reads per page fetch.
349349

350350
## License
351351

docs/src/content/docs/architecture.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,6 @@ Tests run in two runtimes:
179179
|---------|------|-------|
180180
| **workerd** (real CF Workers) | Operators, DOs, decode, format parsing ||
181181
| **Node** | DuckDB conformance (1M-5M rows), fixture files, SQL, infra ||
182-
| **Total** | All runtimes | **550+ tests** |
182+
| **Total** | All runtimes | **580+ tests** |
183183

184184
Conformance tests validate every operator against DuckDB at scale. CI benchmarks compare QueryMode vs DuckDB on every push.

docs/src/content/docs/why-querymode.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ These do real query optimization work:
7676
- **Predicate pushdown** — filters run inside the WASM engine, not JavaScript
7777
- **SIMD vectorized decode** — Zig WASM processes columns with SIMD instructions
7878
- **Coalesced I/O** — adjacent page reads merge into single range requests
79-
- **Prefetch** — fetch page N+1 while decoding page N (up to 8 in-flight)
79+
- **Prefetch** — fetch page N+1 while decoding page N, with up to 8 concurrent R2 range reads per page
8080
- **Partial aggregation** — Fragment DOs aggregate locally, Query DO merges
8181
- **Memory-bounded spill** — sort and join spill to R2 via Grace hash partitioning when they exceed budget
8282

0 commit comments

Comments
 (0)