What problem does it solve?
Materialize developers need to measure and prevent performance regressions, but the repository contains three distinct benchmark frameworks with different conventions, making it hard to know which one to use and how to write scenarios correctly.
Core Features & Use Cases
- Feature Benchmark: Add micro-benchmark scenarios measuring wall-clock time of individual SQL operations using testdrive fragments with timing markers.
- Scalability Test: Create workloads measuring TPS under increasing concurrency (1 to 256 clients) by extending marker classes like DmlDqlWorkload.
- Parallel Benchmark: Define sustained-load scenarios measuring latency percentiles (p50/p95/p99) and QPS over time with open-loop and closed-loop actions.
- Use Case: A developer optimizing a SELECT query adds a Feature Benchmark scenario with and markers, runs it via mzcompose, and sets a RELATIVE_THRESHOLD to catch regressions in CI.
Quick Start
Ask the assistant to add a new feature benchmark scenario that measures the latency of a specific SQL query in Materialize.