vibesql_bench_common/lib.rs
1//! Shared benchmark infrastructure for vibesql benchmarks
2//!
3//! This crate provides common benchmark code used by both `vibesql-executor`
4//! and `vibesql-server` benchmark suites:
5//!
6//! - **TPC-C**: OLTP transaction processing benchmark
7//! - **TPC-H**: Decision support (OLAP) benchmark
8//! - **TPC-DS**: Decision support benchmark with complex queries
9//! - **TPC-E**: Financial trading benchmark
10//! - **Sysbench**: MySQL-compatible micro-benchmarks
11//! - **Harness**: Timing and statistics infrastructure
12//!
13//! # Phase 1 - Data Generators and Types
14//!
15//! This initial version provides portable data generators and type definitions
16//! that don't depend on any vibesql crates. Engine-specific schema loading
17//! and transaction execution code remains in each benchmark crate.
18//!
19//! # Usage
20//!
21//! Add as a dev-dependency in your crate's `Cargo.toml`:
22//!
23//! ```toml
24//! [dev-dependencies]
25//! vibesql-bench-common = { path = "../vibesql-bench-common" }
26//! ```
27
28pub mod harness;
29pub mod sysbench;
30pub mod tpcc;
31pub mod tpch;
32
33// TPC-DS and TPC-E to be added in Phase 2
34// pub mod tpcds;
35// pub mod tpce;