MCPcopy Create free account
hub / github.com/erans/pgsqlite / benchmark_simple_query_detection

Function benchmark_simple_query_detection

benches/simple_query_bench.rs:5–37  ·  view source on GitHub ↗
(c: &mut Criterion)

Source from the content-addressed store, hash-verified

3use pgsqlite::query::simple_query_detector::is_fast_path_simple_query;
4
5fn benchmark_simple_query_detection(c: &mut Criterion) {
6 let simple_queries = vec![
7 "SELECT * FROM users",
8 "SELECT id, name FROM users WHERE id = $1",
9 "INSERT INTO users (name, email) VALUES ($1, $2)",
10 "UPDATE users SET name = $1 WHERE id = $2",
11 "DELETE FROM users WHERE id = $1",
12 ];
13
14 let complex_queries = vec![
15 "SELECT * FROM users WHERE created_at::date = $1",
16 "SELECT * FROM pg_catalog.pg_tables",
17 "SELECT * FROM users WHERE email ~ '@gmail.com'",
18 "SELECT * FROM users WHERE id = ANY($1)",
19 "DELETE FROM users USING orders WHERE users.id = orders.user_id",
20 ];
21
22 c.bench_function("fast_path_simple_queries", |b| {
23 b.iter(|| {
24 for query in &simple_queries {
25 black_box(is_fast_path_simple_query(query));
26 }
27 })
28 });
29
30 c.bench_function("fast_path_complex_queries", |b| {
31 b.iter(|| {
32 for query in &complex_queries {
33 black_box(is_fast_path_simple_query(query));
34 }
35 })
36 });
37}
38
39criterion_group!(benches, benchmark_simple_query_detection);
40criterion_main!(benches);

Callers

nothing calls this directly

Calls 1

Tested by

no test coverage detected