Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 19 additions & 16 deletions benchmarks/src/tpch/run.rs
Original file line number Diff line number Diff line change
Expand Up @@ -109,29 +109,32 @@ impl RunOpt {
};

let mut benchmark_run = BenchmarkRun::new();
for query_id in query_range {
benchmark_run.start_new_case(&format!("Query {query_id}"));
let query_run = self.benchmark_query(query_id).await?;
for iter in query_run {
benchmark_run.write_iter(iter.elapsed, iter.row_count);
}
}
benchmark_run.maybe_write_json(self.output_path.as_ref())?;
Ok(())
}

async fn benchmark_query(&self, query_id: usize) -> Result<Vec<QueryResult>> {
let mut config = self
.common
.config()?
.with_collect_statistics(!self.disable_statistics);
config.options_mut().optimizer.prefer_hash_join = self.prefer_hash_join;
let rt_builder = self.common.runtime_env_builder()?;
let ctx = SessionContext::new_with_config_rt(config, rt_builder.build_arc()?);

// register tables
self.register_tables(&ctx).await?;

for query_id in query_range {
benchmark_run.start_new_case(&format!("Query {query_id}"));
let query_run = self.benchmark_query(query_id, &ctx).await?;
for iter in query_run {
benchmark_run.write_iter(iter.elapsed, iter.row_count);
}
}
benchmark_run.maybe_write_json(self.output_path.as_ref())?;
Ok(())
}

async fn benchmark_query(
&self,
query_id: usize,
ctx: &SessionContext,
) -> Result<Vec<QueryResult>> {
let mut millis = vec![];
// run benchmark
let mut query_results = vec![];
Expand All @@ -146,14 +149,14 @@ impl RunOpt {
if query_id == 15 {
for (n, query) in sql.iter().enumerate() {
if n == 1 {
result = self.execute_query(&ctx, query).await?;
result = self.execute_query(ctx, query).await?;
} else {
self.execute_query(&ctx, query).await?;
self.execute_query(ctx, query).await?;
}
}
} else {
for query in sql {
result = self.execute_query(&ctx, query).await?;
result = self.execute_query(ctx, query).await?;
}
}

Expand Down