Skip to content

Commit f2f6cf4

Browse files
committed
fix: resolve Rust formatting issues in benchmark files
- Fix import statement ordering to follow Rust conventions - Remove trailing whitespace causing fmt check failures - Ensure consistent spacing and indentation - All benchmark files now pass cargo fmt --check
1 parent b9a6823 commit f2f6cf4

4 files changed

Lines changed: 86 additions & 80 deletions

File tree

nexum_core/benches/executor_bench.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
use std::time::Duration;
2+
13
use criterion::{black_box, criterion_group, criterion_main, BenchmarkId, Criterion, Throughput};
2-
use nexum_core::{Executor, Parser, StorageEngine};
4+
35
use nexum_core::storage::Result;
4-
use std::time::Duration;
6+
use nexum_core::{Executor, Parser, StorageEngine};
57

68
fn setup_test_data(engine: &StorageEngine, num_records: usize) -> Result<()> {
79
// Create users table data

nexum_core/benches/filter_bench.rs

Lines changed: 38 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
use criterion::{black_box, criterion_group, criterion_main, BenchmarkId, Criterion, Throughput};
2-
use nexum_core::executor::filter::ExpressionEvaluator;
3-
use nexum_core::sql::types::Value;
42
use sqlparser::ast::{Expr, Statement};
53
use sqlparser::dialect::GenericDialect;
64
use sqlparser::parser::Parser;
75

6+
use nexum_core::executor::filter::ExpressionEvaluator;
7+
use nexum_core::sql::types::Value;
8+
89
fn create_test_row(id: i64, name: &str, age: i64, salary: f64, active: bool) -> Vec<Value> {
910
vec![
1011
Value::Integer(id),
@@ -18,7 +19,7 @@ fn create_test_row(id: i64, name: &str, age: i64, salary: f64, active: bool) ->
1819
fn parse_where_clause(sql: &str) -> Expr {
1920
let dialect = GenericDialect {};
2021
let ast = Parser::parse_sql(&dialect, &format!("SELECT * FROM t WHERE {}", sql)).unwrap();
21-
22+
2223
if let Statement::Query(query) = &ast[0] {
2324
if let sqlparser::ast::SetExpr::Select(select) = &*query.body {
2425
if let Some(where_expr) = &select.selection {
@@ -31,7 +32,7 @@ fn parse_where_clause(sql: &str) -> Expr {
3132

3233
fn filter_simple_comparisons_benchmark(c: &mut Criterion) {
3334
let mut group = c.benchmark_group("filter_simple_comparisons");
34-
35+
3536
let column_names = vec![
3637
"id".to_string(),
3738
"name".to_string(),
@@ -40,7 +41,7 @@ fn filter_simple_comparisons_benchmark(c: &mut Criterion) {
4041
"active".to_string(),
4142
];
4243
let evaluator = ExpressionEvaluator::new(column_names);
43-
44+
4445
let test_cases = vec![
4546
("integer_eq", "id = 1000", create_test_row(1000, "John", 30, 50000.0, true)),
4647
("integer_gt", "age > 25", create_test_row(1, "Jane", 30, 60000.0, true)),
@@ -49,23 +50,23 @@ fn filter_simple_comparisons_benchmark(c: &mut Criterion) {
4950
("text_eq", "name = 'John'", create_test_row(4, "John", 28, 52000.0, true)),
5051
("boolean_eq", "active = true", create_test_row(5, "Mary", 32, 58000.0, true)),
5152
];
52-
53+
5354
for (test_name, sql, row_data) in test_cases {
5455
let where_expr = parse_where_clause(sql);
55-
56+
5657
group.bench_function(test_name, |b| {
5758
b.iter(|| {
5859
black_box(evaluator.evaluate(&where_expr, &row_data).unwrap());
5960
});
6061
});
6162
}
62-
63+
6364
group.finish();
6465
}
6566

6667
fn filter_complex_expressions_benchmark(c: &mut Criterion) {
6768
let mut group = c.benchmark_group("filter_complex_expressions");
68-
69+
6970
let column_names = vec![
7071
"id".to_string(),
7172
"name".to_string(),
@@ -74,7 +75,7 @@ fn filter_complex_expressions_benchmark(c: &mut Criterion) {
7475
"active".to_string(),
7576
];
7677
let evaluator = ExpressionEvaluator::new(column_names);
77-
78+
7879
let test_cases = vec![
7980
(
8081
"and_condition",
@@ -102,26 +103,26 @@ fn filter_complex_expressions_benchmark(c: &mut Criterion) {
102103
create_test_row(5, "John", 32, 58000.0, true),
103104
),
104105
];
105-
106+
106107
for (test_name, sql, row_data) in test_cases {
107108
let where_expr = parse_where_clause(sql);
108-
109+
109110
group.bench_function(test_name, |b| {
110111
b.iter(|| {
111112
black_box(evaluator.evaluate(&where_expr, &row_data).unwrap());
112113
});
113114
});
114115
}
115-
116+
116117
group.finish();
117118
}
118119

119120
fn filter_like_patterns_benchmark(c: &mut Criterion) {
120121
let mut group = c.benchmark_group("filter_like_patterns");
121-
122+
122123
let column_names = vec!["name".to_string(), "email".to_string()];
123124
let evaluator = ExpressionEvaluator::new(column_names);
124-
125+
125126
let test_cases = vec![
126127
(
127128
"prefix_match",
@@ -149,39 +150,39 @@ fn filter_like_patterns_benchmark(c: &mut Criterion) {
149150
vec![Value::Text("Bob Wilson".to_string()), Value::Text("bob@company.com".to_string())],
150151
),
151152
];
152-
153+
153154
for (test_name, sql, row_data) in test_cases {
154155
let where_expr = parse_where_clause(sql);
155-
156+
156157
group.bench_function(test_name, |b| {
157158
b.iter(|| {
158159
black_box(evaluator.evaluate(&where_expr, &row_data).unwrap());
159160
});
160161
});
161162
}
162-
163+
163164
group.finish();
164165
}
165166

166167
fn filter_in_list_benchmark(c: &mut Criterion) {
167168
let mut group = c.benchmark_group("filter_in_list");
168-
169+
169170
let column_names = vec!["id".to_string(), "status".to_string()];
170171
let evaluator = ExpressionEvaluator::new(column_names);
171-
172+
172173
for list_size in [5, 10, 50, 100].iter() {
173174
let mut id_list = Vec::new();
174175
for i in 0..*list_size {
175176
id_list.push(i.to_string());
176177
}
177178
let sql = format!("id IN ({})", id_list.join(", "));
178179
let where_expr = parse_where_clause(&sql);
179-
180+
180181
let row_data = vec![
181182
Value::Integer(*list_size / 2), // Should be found in the middle
182183
Value::Text("active".to_string()),
183184
];
184-
185+
185186
group.bench_with_input(
186187
BenchmarkId::new("id_in_list", list_size),
187188
&where_expr,
@@ -192,30 +193,30 @@ fn filter_in_list_benchmark(c: &mut Criterion) {
192193
},
193194
);
194195
}
195-
196+
196197
// Test string IN lists
197198
let status_sql = "status IN ('active', 'pending', 'inactive', 'suspended', 'archived')";
198199
let status_expr = parse_where_clause(status_sql);
199200
let status_row = vec![
200201
Value::Integer(1),
201202
Value::Text("active".to_string()),
202203
];
203-
204+
204205
group.bench_function("string_in_list", |b| {
205206
b.iter(|| {
206207
black_box(evaluator.evaluate(&status_expr, &status_row).unwrap());
207208
});
208209
});
209-
210+
210211
group.finish();
211212
}
212213

213214
fn filter_between_benchmark(c: &mut Criterion) {
214215
let mut group = c.benchmark_group("filter_between");
215-
216+
216217
let column_names = vec!["age".to_string(), "salary".to_string(), "score".to_string()];
217218
let evaluator = ExpressionEvaluator::new(column_names);
218-
219+
219220
let test_cases = vec![
220221
(
221222
"integer_between",
@@ -233,24 +234,24 @@ fn filter_between_benchmark(c: &mut Criterion) {
233234
vec![Value::Integer(28), Value::Float(52000.0), Value::Float(88.7)],
234235
),
235236
];
236-
237+
237238
for (test_name, sql, row_data) in test_cases {
238239
let where_expr = parse_where_clause(sql);
239-
240+
240241
group.bench_function(test_name, |b| {
241242
b.iter(|| {
242243
black_box(evaluator.evaluate(&where_expr, &row_data).unwrap());
243244
});
244245
});
245246
}
246-
247+
247248
group.finish();
248249
}
249250

250251
fn filter_batch_evaluation_benchmark(c: &mut Criterion) {
251252
let mut group = c.benchmark_group("filter_batch_evaluation");
252253
group.sample_size(10); // Reduce sample size for large datasets
253-
254+
254255
let column_names = vec![
255256
"id".to_string(),
256257
"name".to_string(),
@@ -259,7 +260,7 @@ fn filter_batch_evaluation_benchmark(c: &mut Criterion) {
259260
"active".to_string(),
260261
];
261262
let evaluator = ExpressionEvaluator::new(column_names);
262-
263+
263264
// Create test data (reduced from 10k to 5k)
264265
let mut test_rows = Vec::new();
265266
for i in 0..5000 {
@@ -271,19 +272,19 @@ fn filter_batch_evaluation_benchmark(c: &mut Criterion) {
271272
i % 2 == 0,
272273
));
273274
}
274-
275+
275276
let filters = vec![
276277
("simple_filter", "age > 30"),
277278
("complex_filter", "age > 25 AND salary > 50000.0 AND active = true"),
278279
("like_filter", "name LIKE 'User1%'"),
279280
("range_filter", "age BETWEEN 25 AND 45 AND salary BETWEEN 40000.0 AND 70000.0"),
280281
];
281-
282+
282283
for (filter_name, sql) in filters {
283284
let where_expr = parse_where_clause(sql);
284-
285+
285286
group.throughput(Throughput::Elements(test_rows.len() as u64));
286-
287+
287288
group.bench_with_input(
288289
BenchmarkId::new("5k_rows", filter_name),
289290
&where_expr,
@@ -300,7 +301,7 @@ fn filter_batch_evaluation_benchmark(c: &mut Criterion) {
300301
},
301302
);
302303
}
303-
304+
304305
group.finish();
305306
}
306307

0 commit comments

Comments
 (0)