TeaQL runtime 的公开、可复现性能与极限测试工程。
本仓库衡量 runtime 的查询、关系装配、mutation、schema、跨数据源及其他运行时路径。Agent Kit、代码生成过程和 Harness Engineering 本身的 benchmark 不放在这里,避免把运行时性能与 Agent 工作质量混成一个指标。
TeaQL Runtime 是执行 TeaQL 生成领域 API 与共同运行时契约的、可重用且领域无关的运行时平台。目前它面向 Java、Rust、TypeScript、Swift、Python、.NET 和 Go 提供七种实现。本仓库测量的是这个跨语言平台及其具体语言实现,而不是某一个生成业务项目。
| Language | Runtime repository |
|---|---|
| Java | teaql/teaql-java |
| Rust | teaql/teaql-rs |
| TypeScript | teaql/teaql-ts |
| Swift | teaql/teaql-swift |
| Python | teaql/teaql-python |
| .NET | teaql/teaql-dotnet |
| Go | teaql/teaql-golang |
本仓库只接受能够重复运行、能够校验结果正确性、能够保留原始证据的 benchmark。任何硬编码结果、伪造缓存、只运行一次的计时或用手写 SQL 冒充 TeaQL 的测试,都不能进入正式结果。
| ID | Benchmark | Status | Evidence |
|---|---|---|---|
| B001 | Rust ORM relationship loading on MusicBrainz: TeaQL vs Diesel vs SeaORM | Published historical run; numbers auditable, exact source rerun blocked | Fixed dataset setup, raw output, correctness gates, model and all three implementations; retained generated/runtime revision mismatch documented |
编号是稳定标识,不随语言、日期或后续复测改变。每次复测作为新的 evidence run 追加,不能覆盖历史结果。
第一条可执行基线使用 NYC TLC Trip Record Data:
- 数据源:2024 年 1 月 Yellow Taxi Parquet;
- 数据库:PostgreSQL 17;
- 基线:同一连接上的参数化 raw SQL;
- 指标:吞吐量、p50/p95/p99、最小/最大延迟、错误数;
- 门禁:加载后先验证行数、时间范围和关键字段,再允许运行性能测试。
Stack Exchange Data Dump 将作为关系加载、N+1、深层投影与分页赛道。确定性合成数据只用于寻找极限,不冒充公开数据集。
./scripts/bootstrap.sh
./scripts/fetch-dataset.sh nyc-yellow-2024-01
./scripts/load-nyc.sh nyc-yellow-2024-01
./scripts/run-baseline.sh
./scripts/run-java.shrun-java.sh 会使用同一 JVM、同一 PostgreSQL JDBC 驱动和同一连接池,依次运行原生 JDBC 与真实生成的 TeaQL Java Q API。计时前会比较 Q01/Q02 的规范化 ID 列表;不一致时立即失败。
默认 10 秒预热、30 秒测量只用于验证 harness。可通过环境变量调整;正式候选结果要求每项至少测量 120 秒并重复 5 轮:
BENCHMARK_WARMUP_SECONDS=30 BENCHMARK_MEASURE_SECONDS=120 ./scripts/run-java.sh五轮正式候选测试使用:
./scripts/run-formal-java.sh该脚本会保存每轮日志与环境证据,并在主机初始负载过高时拒绝运行。覆盖负载门禁只能用于已经记录环境例外的诊断,不应直接发布为正式结果。
当前 Java 覆盖 Q01 主键读取和 Q02 时间范围分页。Q03 聚合尚未接入 TeaQL,不会用手写 SQL 冒充框架结果。原始 JSON 写入 results/,默认不提交。
第一次下载会把实际 SHA-256 写入 .benchmark/datasets.lock.json。正式发布结果前,必须把确认过的校验和固化到 datasets/manifest.json。
详细规则见 docs/METHODOLOGY.md。 深度分页、缓存计数、每个 Vendor 最近十条 Trip 和受治理动态检索的评估协议见 docs/QUERY_CAPABILITY_EVALUATION.md。
datasets/:公开数据源清单、schema 和正确性校验。workloads/:与实现无关的场景和参数。implementations/raw-postgres/:数据库能力下界。implementations/teaql-*:各语言 TeaQL 的真实实现。tools/:下载、装载、执行和环境采集。results/:经审核后发布的结果;本地原始结果默认忽略。