You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@datafusion.apache.org by "alamb (via GitHub)" <gi...@apache.org> on 2025/06/04 14:19:32 UTC
[PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
alamb opened a new pull request, #16249:
URL: https://github.com/apache/datafusion/pull/16249
## Which issue does this PR close?
- Related to https://github.com/apache/arrow-rs/issues/6692
- Related to #3463
## Rationale for this change
I am trying to move the coalesce operation upstream into arrow-rs so that it can be reused in parquet filter pushdown and more highly optimized. See :
- https://github.com/apache/arrow-rs/pull/7597
The proposed upstream coalescer API is slightly different (guaranteed batch size, and doesn't have limit) so we must adapt the DataFusion code to handle this
## What changes are included in this PR?
This PR refactors the `BatchCoalescer` in DataFusion to use the proposed upstream API to show that it
1. Can be used (api is complete enough)
2. Is not any slower
## Are these changes tested?
By CI tests
## Are there any user-facing changes?
No
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2952354569
> I added a PR for reverting the changes in arrow-rs [apache/arrow-rs#7623](https://github.com/apache/arrow-rs/pull/7623) - probably something subtle with one of the fast paths that isn't tested in arrow-rs.
Thank you. I have a theory: https://github.com/apache/arrow-rs/pull/7623#discussion_r2133748478
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2987742008
๐ค `./gh_compare_branch.sh` [Benchmark Script](https://github.com/alamb/datafusion-benchmarking/blob/main/gh_compare_branch.sh) Running
Linux aal-dev 6.11.0-1015-gcp #15~24.04.1-Ubuntu SMP Thu Apr 24 20:41:05 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing alamb/test_upstream_coalesce (c5bb25ecd54f1d026a603f615af2f3ae730003c1) to e6df27c3ba49b32fef0689c87cb787d2f6948939 [diff](https://github.com/apache/datafusion/compare/e6df27c3ba49b32fef0689c87cb787d2f6948939..c5bb25ecd54f1d026a603f615af2f3ae730003c1)
Benchmarks: tpch_mem clickbench_partitioned clickbench_extended
Results will be posted here when complete
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2954153997
> This is similar to my results, some larger gains on TPC-H, smaller gains (spreaded out over different queries) for clickbench.
SWEET!
Just wait until we get rid of the intermediate copy ;) it is going to be amazing
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2976183640
> This is for me the result of not coalescing larger batches:
Nice
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "Dandandan (via GitHub)" <gi...@apache.org>.
Dandandan commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2952801442
@alamb benchmark runs ok now
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb closed pull request #16249: Draft: Use upstream arrow `coalesce` kernel in DataFusion
URL: https://github.com/apache/datafusion/pull/16249
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "Dandandan (via GitHub)" <gi...@apache.org>.
Dandandan commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2974721937
This is for me
```diff
--- i/datafusion/physical-plan/src/coalesce/mod.rs
+++ w/datafusion/physical-plan/src/coalesce/mod.rs
@@ -33,6 +33,9 @@ pub struct LimitedBatchCoalescer {
fetch: Option<usize>,
/// Indicates if the coalescer is finished
finished: bool,
+
+ /// target batch size
+ target_batch_size: usize,
}
impl LimitedBatchCoalescer {
@@ -53,6 +56,7 @@ impl LimitedBatchCoalescer {
total_rows: 0,
fetch,
finished: false,
+ target_batch_size,
}
}
@@ -92,9 +96,15 @@ impl LimitedBatchCoalescer {
}
}
+ let num_rows = batch.num_rows();
+
self.total_rows += batch.num_rows();
self.inner.push_batch(batch)?;
+ if num_rows > self.target_batch_size / 2 {
+ self.inner.finish_buffered_batch()?;
+ }
+
Ok(false) // not at limit
}
```
Looks like some queries benefit from this:
```
โโโโโโโโโโโโโโโโณโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโ
โ Query โ main โ upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 1 โ 62.59 ms โ 47.70 ms โ +1.31x faster โ
โ QQuery 2 โ 12.52 ms โ 12.70 ms โ no change โ
โ QQuery 3 โ 20.40 ms โ 20.52 ms โ no change โ
โ QQuery 4 โ 13.52 ms โ 12.76 ms โ +1.06x faster โ
โ QQuery 5 โ 31.40 ms โ 30.72 ms โ no change โ
โ QQuery 6 โ 11.01 ms โ 11.13 ms โ no change โ
โ QQuery 7 โ 67.99 ms โ 68.61 ms โ no change โ
โ QQuery 8 โ 17.07 ms โ 16.47 ms โ no change โ
โ QQuery 9 โ 38.69 ms โ 35.99 ms โ +1.08x faster โ
โ QQuery 10 โ 32.05 ms โ 28.81 ms โ +1.11x faster โ
โ QQuery 11 โ 5.80 ms โ 5.78 ms โ no change โ
โ QQuery 12 โ 28.83 ms โ 27.93 ms โ no change โ
โ QQuery 13 โ 18.29 ms โ 17.37 ms โ +1.05x faster โ
โ QQuery 14 โ 5.24 ms โ 5.68 ms โ 1.08x slower โ
โ QQuery 15 โ 10.88 ms โ 11.41 ms โ no change โ
โ QQuery 16 โ 13.53 ms โ 12.77 ms โ +1.06x faster โ
โ QQuery 17 โ 54.94 ms โ 62.53 ms โ 1.14x slower โ
โ QQuery 18 โ 118.23 ms โ 115.08 ms โ no change โ
โ QQuery 19 โ 21.28 ms โ 20.00 ms โ +1.06x faster โ
โ QQuery 20 โ 20.43 ms โ 19.09 ms โ +1.07x faster โ
โ QQuery 21 โ 84.41 ms โ 82.41 ms โ no change โ
โ QQuery 22 โ 12.25 ms โ 10.74 ms โ +1.14x faster โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (main) โ 701.36ms โ
โ Total Time (upstream_coalesce) โ 676.22ms โ
โ Average Time (main) โ 31.88ms โ
โ Average Time (upstream_coalesce) โ 30.74ms โ
โ Queries Faster โ 9 โ
โ Queries Slower โ 2 โ
โ Queries with No Change โ 11 โ
โ Queries with Failure โ 0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโ
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2952305234
๐ค `./gh_compare_branch.sh` [Benchmark Script](https://github.com/alamb/datafusion-benchmarking/blob/main/gh_compare_branch.sh) Running
Linux aal-dev 6.11.0-1013-gcp #13~24.04.1-Ubuntu SMP Wed Apr 2 16:34:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing alamb/test_upstream_coalesce (7d6471b5c9220d013cadd7313c655081af7115af) to 1daa5ed5cc51546904d45e23cc148601d973942a [diff](https://github.com/apache/datafusion/compare/1daa5ed5cc51546904d45e23cc148601d973942a..7d6471b5c9220d013cadd7313c655081af7115af)
Benchmarks: tpch_mem clickbench_partitioned clickbench_extended
Results will be posted here when complete
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-3198977360
Thank you for your contribution. Unfortunately, this pull request is stale because it has been open 60 days with no activity. Please remove the stale label or comment or this will be closed in 7 days.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2954090213
> @alamb benchmark runs ok now
Awesome -- thanks -- I restarted it now
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2952308503
https://github.com/apache/datafusion/actions/runs/15506836203/job/43662848611?pr=16249
> Caused by:
process didn't exit successfully: `/home/runner/work/datafusion/datafusion/target/ci/deps/fuzz-a456cc2e1bdd6367` (signal: 11, SIGSEGV: invalid memory reference)
> Error: Process completed with exit code 101.
๐ค that isn't good
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on code in PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#discussion_r2126736135
##########
datafusion/physical-plan/src/coalesce/mod.rs:
##########
@@ -488,110 +329,6 @@ mod tests {
.unwrap()
}
- #[test]
Review Comment:
all moved upstream
##########
datafusion/physical-plan/src/coalesce/mod.rs:
##########
@@ -98,197 +49,93 @@ impl BatchCoalescer {
fetch: Option<usize>,
) -> Self {
Self {
- schema,
- target_batch_size,
+ inner: BatchCoalescer::new(schema, target_batch_size),
total_rows: 0,
- buffer: vec![],
- buffered_rows: 0,
fetch,
+ finished: false,
}
}
/// Return the schema of the output batches
pub fn schema(&self) -> SchemaRef {
- Arc::clone(&self.schema)
+ self.inner.schema()
}
- /// Push next batch, and returns [`CoalescerState`] indicating the current
- /// state of the buffer.
- pub fn push_batch(&mut self, batch: RecordBatch) -> CoalescerState {
- let batch = gc_string_view_batch(&batch);
- if self.limit_reached(&batch) {
- CoalescerState::LimitReached
- } else if self.target_reached(batch) {
- CoalescerState::TargetReached
- } else {
- CoalescerState::Continue
+ /// Push next batch, and returns [`true`] indicating if the limit is hit
+ ///
+ /// If the limit is reached, the caller must call [`Self::finish()`] to
+ /// complete the buffered results as a batch and finish the query.
+ pub fn push_batch(&mut self, batch: RecordBatch) -> Result<bool> {
+ if self.finished {
+ return internal_err!(
+ "LimitedBatchCoalescer: cannot push batch after finish"
+ );
}
- }
- /// Return true if the there is no data buffered
- pub fn is_empty(&self) -> bool {
- self.buffer.is_empty()
- }
+ // if we are at the limit, return LimitReached
+ if let Some(fetch) = self.fetch {
+ // limit previously reached
+ if self.total_rows >= fetch {
+ return Ok(true);
+ }
- /// Checks if the buffer will reach the specified limit after getting
- /// `batch`.
- ///
- /// If fetch would be exceeded, slices the received batch, updates the
- /// buffer with it, and returns `true`.
- ///
- /// Otherwise: does nothing and returns `false`.
- fn limit_reached(&mut self, batch: &RecordBatch) -> bool {
- match self.fetch {
- Some(fetch) if self.total_rows + batch.num_rows() >= fetch => {
+ // limit now reached
+ if self.total_rows + batch.num_rows() >= fetch {
// Limit is reached
let remaining_rows = fetch - self.total_rows;
debug_assert!(remaining_rows > 0);
- let batch = batch.slice(0, remaining_rows);
- self.buffered_rows += batch.num_rows();
- self.total_rows = fetch;
- self.buffer.push(batch);
- true
+ let batch_head = batch.slice(0, remaining_rows);
+ self.total_rows += batch_head.num_rows();
+ self.inner.push_batch(batch_head)?;
+ return Ok(true);
}
- _ => false,
}
- }
- /// Updates the buffer with the given batch.
- ///
- /// If the target batch size is reached, returns `true`. Otherwise, returns
- /// `false`.
- fn target_reached(&mut self, batch: RecordBatch) -> bool {
- if batch.num_rows() == 0 {
- false
- } else {
- self.total_rows += batch.num_rows();
- self.buffered_rows += batch.num_rows();
- self.buffer.push(batch);
- self.buffered_rows >= self.target_batch_size
- }
+ self.total_rows += batch.num_rows();
+ self.inner.push_batch(batch)?;
+
+ Ok(false) // not at limit
}
- /// Concatenates and returns all buffered batches, and clears the buffer.
- pub fn finish_batch(&mut self) -> datafusion_common::Result<RecordBatch> {
- let batch = concat_batches(&self.schema, &self.buffer)?;
- self.buffer.clear();
- self.buffered_rows = 0;
- Ok(batch)
+ /// Return true if there is no data buffered
+ pub fn is_empty(&self) -> bool {
+ self.inner.is_empty()
}
-}
-/// Indicates the state of the [`BatchCoalescer`] buffer after the
-/// [`BatchCoalescer::push_batch()`] operation.
-///
-/// The caller should take different actions, depending on the variant returned.
-pub enum CoalescerState {
Review Comment:
the buffering is all managed upstream now, so there is no need to expose buffering details to the user of the coalescer
##########
datafusion/physical-plan/src/coalesce_batches.rs:
##########
@@ -252,12 +251,11 @@ struct CoalesceBatchesStream {
/// The input plan
input: SendableRecordBatchStream,
/// Buffer for combining batches
- coalescer: BatchCoalescer,
+ coalescer: LimitedBatchCoalescer,
/// Execution metrics
baseline_metrics: BaselineMetrics,
- /// The current inner state of the stream. This state dictates the current
- /// action or operation to be performed in the streaming process.
- inner_state: CoalesceBatchesStreamState,
Review Comment:
Since the Coalescer can now buffer batches internally, this enum can be reduced to "complete" or not
##########
datafusion/physical-plan/src/coalesce/mod.rs:
##########
@@ -98,197 +49,93 @@ impl BatchCoalescer {
fetch: Option<usize>,
) -> Self {
Self {
- schema,
- target_batch_size,
+ inner: BatchCoalescer::new(schema, target_batch_size),
Review Comment:
this is the key change here -- move all the buffer management upstream into arrow
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2940446605
๐ค: Benchmark completed
<details><summary>Details</summary>
<p>
```
Comparing HEAD and alamb_test_upstream_coalesce
--------------------
Benchmark clickbench_extended.json
--------------------
โโโโโโโโโโโโโโโโณโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโ
โ Query โ HEAD โ alamb_test_upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 0 โ 1903.28ms โ 1910.47ms โ no change โ
โ QQuery 1 โ 705.78ms โ 705.39ms โ no change โ
โ QQuery 2 โ 1416.79ms โ 1427.68ms โ no change โ
โ QQuery 3 โ 721.59ms โ 695.62ms โ no change โ
โ QQuery 4 โ 1438.61ms โ 1459.22ms โ no change โ
โ QQuery 5 โ 15147.47ms โ 15620.61ms โ no change โ
โ QQuery 6 โ 2025.79ms โ 2037.42ms โ no change โ
โ QQuery 7 โ 2088.81ms โ 2069.21ms โ no change โ
โ QQuery 8 โ 852.36ms โ 834.76ms โ no change โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 26300.48ms โ
โ Total Time (alamb_test_upstream_coalesce) โ 26760.37ms โ
โ Average Time (HEAD) โ 2922.28ms โ
โ Average Time (alamb_test_upstream_coalesce) โ 2973.37ms โ
โ Queries Faster โ 0 โ
โ Queries Slower โ 0 โ
โ Queries with No Change โ 9 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโ
--------------------
Benchmark clickbench_partitioned.json
--------------------
โโโโโโโโโโโโโโโโณโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโ
โ Query โ HEAD โ alamb_test_upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 0 โ 15.39ms โ 16.12ms โ no change โ
โ QQuery 1 โ 33.30ms โ 33.27ms โ no change โ
โ QQuery 2 โ 81.95ms โ 81.53ms โ no change โ
โ QQuery 3 โ 99.01ms โ 95.19ms โ no change โ
โ QQuery 4 โ 680.72ms โ 583.09ms โ +1.17x faster โ
โ QQuery 5 โ 901.62ms โ 859.72ms โ no change โ
โ QQuery 6 โ 24.40ms โ 23.86ms โ no change โ
โ QQuery 7 โ 37.45ms โ 36.23ms โ no change โ
โ QQuery 8 โ 951.27ms โ 922.01ms โ no change โ
โ QQuery 9 โ 1259.35ms โ 1187.14ms โ +1.06x faster โ
โ QQuery 10 โ 270.07ms โ 260.94ms โ no change โ
โ QQuery 11 โ 301.01ms โ 298.82ms โ no change โ
โ QQuery 12 โ 929.60ms โ 920.78ms โ no change โ
โ QQuery 13 โ 1352.62ms โ 1355.67ms โ no change โ
โ QQuery 14 โ 843.74ms โ 858.27ms โ no change โ
โ QQuery 15 โ 842.01ms โ 841.71ms โ no change โ
โ QQuery 16 โ 1725.31ms โ 1755.26ms โ no change โ
โ QQuery 17 โ 1605.81ms โ 1607.33ms โ no change โ
โ QQuery 18 โ 3061.08ms โ 3122.06ms โ no change โ
โ QQuery 19 โ 84.26ms โ 81.68ms โ no change โ
โ QQuery 20 โ 1134.75ms โ 1120.94ms โ no change โ
โ QQuery 21 โ 1327.65ms โ 1341.47ms โ no change โ
โ QQuery 22 โ 2173.10ms โ 2220.13ms โ no change โ
โ QQuery 23 โ 8004.42ms โ 7989.85ms โ no change โ
โ QQuery 24 โ 468.53ms โ 466.85ms โ no change โ
โ QQuery 25 โ 383.28ms โ 389.97ms โ no change โ
โ QQuery 26 โ 538.11ms โ 527.43ms โ no change โ
โ QQuery 27 โ 1606.15ms โ 1622.52ms โ no change โ
โ QQuery 28 โ 13703.82ms โ 13070.74ms โ no change โ
โ QQuery 29 โ 520.31ms โ 525.56ms โ no change โ
โ QQuery 30 โ 796.51ms โ 839.14ms โ 1.05x slower โ
โ QQuery 31 โ 851.63ms โ 884.19ms โ no change โ
โ QQuery 32 โ 2618.12ms โ 2636.26ms โ no change โ
โ QQuery 33 โ 3372.88ms โ 3288.44ms โ no change โ
โ QQuery 34 โ 3403.04ms โ 3349.20ms โ no change โ
โ QQuery 35 โ 1296.66ms โ 1313.52ms โ no change โ
โ QQuery 36 โ 121.58ms โ 126.46ms โ no change โ
โ QQuery 37 โ 56.05ms โ 56.07ms โ no change โ
โ QQuery 38 โ 122.31ms โ 124.83ms โ no change โ
โ QQuery 39 โ 197.01ms โ 198.32ms โ no change โ
โ QQuery 40 โ 50.25ms โ 47.22ms โ +1.06x faster โ
โ QQuery 41 โ 43.47ms โ 45.99ms โ 1.06x slower โ
โ QQuery 42 โ 37.67ms โ 38.74ms โ no change โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 57927.27ms โ
โ Total Time (alamb_test_upstream_coalesce) โ 57164.53ms โ
โ Average Time (HEAD) โ 1347.15ms โ
โ Average Time (alamb_test_upstream_coalesce) โ 1329.41ms โ
โ Queries Faster โ 3 โ
โ Queries Slower โ 2 โ
โ Queries with No Change โ 38 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโ
--------------------
Benchmark tpch_mem_sf1.json
--------------------
โโโโโโโโโโโโโโโโณโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโ
โ Query โ HEAD โ alamb_test_upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 1 โ 116.93ms โ 116.77ms โ no change โ
โ QQuery 2 โ 22.28ms โ 22.65ms โ no change โ
โ QQuery 3 โ 34.38ms โ 35.42ms โ no change โ
โ QQuery 4 โ 19.66ms โ 20.79ms โ 1.06x slower โ
โ QQuery 5 โ 54.59ms โ 53.23ms โ no change โ
โ QQuery 6 โ 11.97ms โ 11.95ms โ no change โ
โ QQuery 7 โ 96.84ms โ 100.06ms โ no change โ
โ QQuery 8 โ 25.69ms โ 25.35ms โ no change โ
โ QQuery 9 โ 60.26ms โ 60.42ms โ no change โ
โ QQuery 10 โ 49.39ms โ 47.08ms โ no change โ
โ QQuery 11 โ 11.41ms โ 12.24ms โ 1.07x slower โ
โ QQuery 12 โ 41.31ms โ 40.07ms โ no change โ
โ QQuery 13 โ 27.65ms โ 28.44ms โ no change โ
โ QQuery 14 โ 9.80ms โ 9.94ms โ no change โ
โ QQuery 15 โ 23.05ms โ 22.78ms โ no change โ
โ QQuery 16 โ 21.49ms โ 20.98ms โ no change โ
โ QQuery 17 โ 98.87ms โ 98.30ms โ no change โ
โ QQuery 18 โ 217.87ms โ 208.15ms โ no change โ
โ QQuery 19 โ 26.67ms โ 26.21ms โ no change โ
โ QQuery 20 โ 34.27ms โ 36.07ms โ 1.05x slower โ
โ QQuery 21 โ 160.60ms โ 163.49ms โ no change โ
โ QQuery 22 โ 16.66ms โ 16.30ms โ no change โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 1181.64ms โ
โ Total Time (alamb_test_upstream_coalesce) โ 1176.69ms โ
โ Average Time (HEAD) โ 53.71ms โ
โ Average Time (alamb_test_upstream_coalesce) โ 53.49ms โ
โ Queries Faster โ 0 โ
โ Queries Slower โ 3 โ
โ Queries with No Change โ 19 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโ
```
</p>
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2954109280
๐ค: Benchmark completed
<details><summary>Details</summary>
<p>
```
Comparing HEAD and alamb_test_upstream_coalesce
--------------------
Benchmark clickbench_extended.json
--------------------
โโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโ
โ Query โ HEAD โ alamb_test_upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 0 โ 1889.06 ms โ 1880.96 ms โ no change โ
โ QQuery 1 โ 716.77 ms โ 667.48 ms โ +1.07x faster โ
โ QQuery 2 โ 1442.19 ms โ 1381.98 ms โ no change โ
โ QQuery 3 โ 712.29 ms โ 707.44 ms โ no change โ
โ QQuery 4 โ 1455.16 ms โ 1475.63 ms โ no change โ
โ QQuery 5 โ 15533.57 ms โ 15474.07 ms โ no change โ
โ QQuery 6 โ 2038.22 ms โ 2036.86 ms โ no change โ
โ QQuery 7 โ 2061.78 ms โ 2037.80 ms โ no change โ
โ QQuery 8 โ 842.37 ms โ 847.71 ms โ no change โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 26691.41ms โ
โ Total Time (alamb_test_upstream_coalesce) โ 26509.93ms โ
โ Average Time (HEAD) โ 2965.71ms โ
โ Average Time (alamb_test_upstream_coalesce) โ 2945.55ms โ
โ Queries Faster โ 1 โ
โ Queries Slower โ 0 โ
โ Queries with No Change โ 8 โ
โ Queries with Failure โ 0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโ
--------------------
Benchmark clickbench_partitioned.json
--------------------
โโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโ
โ Query โ HEAD โ alamb_test_upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 0 โ 15.65 ms โ 15.15 ms โ no change โ
โ QQuery 1 โ 32.30 ms โ 33.35 ms โ no change โ
โ QQuery 2 โ 81.46 ms โ 81.55 ms โ no change โ
โ QQuery 3 โ 96.00 ms โ 95.49 ms โ no change โ
โ QQuery 4 โ 590.78 ms โ 601.11 ms โ no change โ
โ QQuery 5 โ 854.48 ms โ 848.50 ms โ no change โ
โ QQuery 6 โ 23.10 ms โ 22.76 ms โ no change โ
โ QQuery 7 โ 37.06 ms โ 36.92 ms โ no change โ
โ QQuery 8 โ 896.05 ms โ 900.08 ms โ no change โ
โ QQuery 9 โ 1200.36 ms โ 1191.28 ms โ no change โ
โ QQuery 10 โ 262.49 ms โ 251.45 ms โ no change โ
โ QQuery 11 โ 291.65 ms โ 280.36 ms โ no change โ
โ QQuery 12 โ 904.38 ms โ 889.86 ms โ no change โ
โ QQuery 13 โ 1315.11 ms โ 1315.16 ms โ no change โ
โ QQuery 14 โ 837.89 ms โ 834.22 ms โ no change โ
โ QQuery 15 โ 821.30 ms โ 832.64 ms โ no change โ
โ QQuery 16 โ 1705.68 ms โ 1693.59 ms โ no change โ
โ QQuery 17 โ 1592.92 ms โ 1569.47 ms โ no change โ
โ QQuery 18 โ 3045.50 ms โ 3002.20 ms โ no change โ
โ QQuery 19 โ 84.78 ms โ 83.02 ms โ no change โ
โ QQuery 20 โ 1120.03 ms โ 1133.34 ms โ no change โ
โ QQuery 21 โ 1315.09 ms โ 1347.90 ms โ no change โ
โ QQuery 22 โ 2178.63 ms โ 2211.92 ms โ no change โ
โ QQuery 23 โ 8029.68 ms โ 8083.35 ms โ no change โ
โ QQuery 24 โ 461.71 ms โ 449.41 ms โ no change โ
โ QQuery 25 โ 382.66 ms โ 390.38 ms โ no change โ
โ QQuery 26 โ 529.64 ms โ 522.68 ms โ no change โ
โ QQuery 27 โ 1625.55 ms โ 1625.82 ms โ no change โ
โ QQuery 28 โ 13784.35 ms โ 12932.17 ms โ +1.07x faster โ
โ QQuery 29 โ 521.18 ms โ 524.09 ms โ no change โ
โ QQuery 30 โ 801.66 ms โ 823.84 ms โ no change โ
โ QQuery 31 โ 851.85 ms โ 852.68 ms โ no change โ
โ QQuery 32 โ 2690.63 ms โ 2635.40 ms โ no change โ
โ QQuery 33 โ 3345.68 ms โ 3295.22 ms โ no change โ
โ QQuery 34 โ 3342.67 ms โ 3308.73 ms โ no change โ
โ QQuery 35 โ 1263.11 ms โ 1267.54 ms โ no change โ
โ QQuery 36 โ 123.69 ms โ 124.38 ms โ no change โ
โ QQuery 37 โ 56.37 ms โ 58.61 ms โ no change โ
โ QQuery 38 โ 125.62 ms โ 124.93 ms โ no change โ
โ QQuery 39 โ 196.76 ms โ 196.00 ms โ no change โ
โ QQuery 40 โ 46.66 ms โ 46.58 ms โ no change โ
โ QQuery 41 โ 45.72 ms โ 46.90 ms โ no change โ
โ QQuery 42 โ 38.86 ms โ 37.39 ms โ no change โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 57566.75ms โ
โ Total Time (alamb_test_upstream_coalesce) โ 56617.44ms โ
โ Average Time (HEAD) โ 1338.76ms โ
โ Average Time (alamb_test_upstream_coalesce) โ 1316.68ms โ
โ Queries Faster โ 1 โ
โ Queries Slower โ 0 โ
โ Queries with No Change โ 42 โ
โ Queries with Failure โ 0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโ
--------------------
Benchmark tpch_mem_sf1.json
--------------------
โโโโโโโโโโโโโโโโณโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโ
โ Query โ HEAD โ alamb_test_upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 1 โ 118.73 ms โ 102.68 ms โ +1.16x faster โ
โ QQuery 2 โ 22.86 ms โ 21.30 ms โ +1.07x faster โ
โ QQuery 3 โ 34.24 ms โ 33.92 ms โ no change โ
โ QQuery 4 โ 20.26 ms โ 20.20 ms โ no change โ
โ QQuery 5 โ 53.26 ms โ 50.18 ms โ +1.06x faster โ
โ QQuery 6 โ 12.20 ms โ 11.80 ms โ no change โ
โ QQuery 7 โ 98.01 ms โ 90.17 ms โ +1.09x faster โ
โ QQuery 8 โ 26.39 ms โ 25.29 ms โ no change โ
โ QQuery 9 โ 57.58 ms โ 57.16 ms โ no change โ
โ QQuery 10 โ 49.82 ms โ 45.13 ms โ +1.10x faster โ
โ QQuery 11 โ 11.63 ms โ 11.14 ms โ no change โ
โ QQuery 12 โ 40.85 ms โ 38.18 ms โ +1.07x faster โ
โ QQuery 13 โ 28.41 ms โ 28.02 ms โ no change โ
โ QQuery 14 โ 10.05 ms โ 9.69 ms โ no change โ
โ QQuery 15 โ 22.60 ms โ 22.41 ms โ no change โ
โ QQuery 16 โ 21.50 ms โ 20.11 ms โ +1.07x faster โ
โ QQuery 17 โ 97.15 ms โ 95.22 ms โ no change โ
โ QQuery 18 โ 210.39 ms โ 176.64 ms โ +1.19x faster โ
โ QQuery 19 โ 26.46 ms โ 25.16 ms โ no change โ
โ QQuery 20 โ 34.93 ms โ 33.86 ms โ no change โ
โ QQuery 21 โ 160.28 ms โ 144.59 ms โ +1.11x faster โ
โ QQuery 22 โ 17.04 ms โ 15.31 ms โ +1.11x faster โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 1174.64ms โ
โ Total Time (alamb_test_upstream_coalesce) โ 1078.14ms โ
โ Average Time (HEAD) โ 53.39ms โ
โ Average Time (alamb_test_upstream_coalesce) โ 49.01ms โ
โ Queries Faster โ 10 โ
โ Queries Slower โ 0 โ
โ Queries with No Change โ 12 โ
โ Queries with Failure โ 0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโ
```
</p>
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2940520331
๐ค `./gh_compare_branch.sh` [Benchmark Script](https://github.com/alamb/datafusion-benchmarking/blob/main/gh_compare_branch.sh) Running
Linux aal-dev 6.11.0-1013-gcp #13~24.04.1-Ubuntu SMP Wed Apr 2 16:34:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing alamb/test_upstream_coalesce (9e20973387ae4b04914917726c834120e592238d) to 992d156c46f6ad4f0096c4a62b293cabef63718d [diff](https://github.com/apache/datafusion/compare/992d156c46f6ad4f0096c4a62b293cabef63718d..9e20973387ae4b04914917726c834120e592238d)
Benchmarks: tpch_mem clickbench_partitioned clickbench_extended
Results will be posted here when complete
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "Dandandan (via GitHub)" <gi...@apache.org>.
Dandandan commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2954130905
> ๐ค: Benchmark completed
>
> Details
This is similar to my results, some larger gains on TPC-H, smaller gains (spreaded out over different queries) for clickbench.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "Dandandan (via GitHub)" <gi...@apache.org>.
Dandandan commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2952353060
I added a PR for reverting the changes in arrow-rs https://github.com/apache/arrow-rs/pull/7623 - probably something subtle with one of the fast paths that isn't tested in arrow-rs.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-3214342800
@zhuqi-lucas is working on this in https://github.com/apache/datafusion/pull/17105 instead
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2940620817
๐ค: Benchmark completed
<details><summary>Details</summary>
<p>
```
Comparing HEAD and alamb_test_upstream_coalesce
--------------------
Benchmark clickbench_extended.json
--------------------
โโโโโโโโโโโโโโโโณโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโ
โ Query โ HEAD โ alamb_test_upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 0 โ 1914.38ms โ 1938.51ms โ no change โ
โ QQuery 1 โ 711.81ms โ 718.29ms โ no change โ
โ QQuery 2 โ 1455.52ms โ 1470.28ms โ no change โ
โ QQuery 3 โ 712.37ms โ 694.68ms โ no change โ
โ QQuery 4 โ 1449.70ms โ 1448.88ms โ no change โ
โ QQuery 5 โ 15655.93ms โ 15613.27ms โ no change โ
โ QQuery 6 โ 2014.71ms โ 2072.03ms โ no change โ
โ QQuery 7 โ 2080.97ms โ 2169.52ms โ no change โ
โ QQuery 8 โ 856.77ms โ 841.42ms โ no change โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 26852.14ms โ
โ Total Time (alamb_test_upstream_coalesce) โ 26966.88ms โ
โ Average Time (HEAD) โ 2983.57ms โ
โ Average Time (alamb_test_upstream_coalesce) โ 2996.32ms โ
โ Queries Faster โ 0 โ
โ Queries Slower โ 0 โ
โ Queries with No Change โ 9 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโ
--------------------
Benchmark clickbench_partitioned.json
--------------------
โโโโโโโโโโโโโโโโณโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโ
โ Query โ HEAD โ alamb_test_upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 0 โ 15.50ms โ 15.07ms โ no change โ
โ QQuery 1 โ 32.04ms โ 32.46ms โ no change โ
โ QQuery 2 โ 85.71ms โ 81.49ms โ no change โ
โ QQuery 3 โ 101.37ms โ 96.91ms โ no change โ
โ QQuery 4 โ 635.37ms โ 605.83ms โ no change โ
โ QQuery 5 โ 846.37ms โ 857.35ms โ no change โ
โ QQuery 6 โ 25.51ms โ 22.94ms โ +1.11x faster โ
โ QQuery 7 โ 36.44ms โ 36.85ms โ no change โ
โ QQuery 8 โ 905.00ms โ 899.47ms โ no change โ
โ QQuery 9 โ 1221.22ms โ 1203.33ms โ no change โ
โ QQuery 10 โ 256.84ms โ 261.35ms โ no change โ
โ QQuery 11 โ 298.30ms โ 293.02ms โ no change โ
โ QQuery 12 โ 896.38ms โ 900.13ms โ no change โ
โ QQuery 13 โ 1319.11ms โ 1229.16ms โ +1.07x faster โ
โ QQuery 14 โ 821.82ms โ 840.52ms โ no change โ
โ QQuery 15 โ 808.55ms โ 832.04ms โ no change โ
โ QQuery 16 โ 1708.26ms โ 1717.94ms โ no change โ
โ QQuery 17 โ 1564.42ms โ 1600.58ms โ no change โ
โ QQuery 18 โ 3036.53ms โ 3090.72ms โ no change โ
โ QQuery 19 โ 83.52ms โ 83.60ms โ no change โ
โ QQuery 20 โ 1120.03ms โ 1142.33ms โ no change โ
โ QQuery 21 โ 1327.78ms โ 1340.28ms โ no change โ
โ QQuery 22 โ 2180.54ms โ 2211.59ms โ no change โ
โ QQuery 23 โ 8051.83ms โ 8092.34ms โ no change โ
โ QQuery 24 โ 467.15ms โ 463.58ms โ no change โ
โ QQuery 25 โ 393.84ms โ 390.05ms โ no change โ
โ QQuery 26 โ 540.91ms โ 522.58ms โ no change โ
โ QQuery 27 โ 1583.35ms โ 1648.93ms โ no change โ
โ QQuery 28 โ 13535.80ms โ 14249.61ms โ 1.05x slower โ
โ QQuery 29 โ 517.83ms โ 530.48ms โ no change โ
โ QQuery 30 โ 794.70ms โ 826.55ms โ no change โ
โ QQuery 31 โ 845.08ms โ 885.81ms โ no change โ
โ QQuery 32 โ 2690.84ms โ 2696.00ms โ no change โ
โ QQuery 33 โ 3326.15ms โ 3318.91ms โ no change โ
โ QQuery 34 โ 3395.28ms โ 3349.97ms โ no change โ
โ QQuery 35 โ 1271.25ms โ 1254.09ms โ no change โ
โ QQuery 36 โ 126.96ms โ 133.46ms โ 1.05x slower โ
โ QQuery 37 โ 55.58ms โ 55.47ms โ no change โ
โ QQuery 38 โ 121.97ms โ 123.72ms โ no change โ
โ QQuery 39 โ 197.25ms โ 197.97ms โ no change โ
โ QQuery 40 โ 46.12ms โ 47.56ms โ no change โ
โ QQuery 41 โ 45.89ms โ 45.86ms โ no change โ
โ QQuery 42 โ 37.90ms โ 38.37ms โ no change โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 57372.28ms โ
โ Total Time (alamb_test_upstream_coalesce) โ 58266.22ms โ
โ Average Time (HEAD) โ 1334.24ms โ
โ Average Time (alamb_test_upstream_coalesce) โ 1355.03ms โ
โ Queries Faster โ 2 โ
โ Queries Slower โ 2 โ
โ Queries with No Change โ 39 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโ
--------------------
Benchmark tpch_mem_sf1.json
--------------------
โโโโโโโโโโโโโโโโณโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโ
โ Query โ HEAD โ alamb_test_upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 1 โ 118.13ms โ 113.29ms โ no change โ
โ QQuery 2 โ 22.88ms โ 21.65ms โ +1.06x faster โ
โ QQuery 3 โ 34.71ms โ 34.51ms โ no change โ
โ QQuery 4 โ 19.51ms โ 20.75ms โ 1.06x slower โ
โ QQuery 5 โ 52.61ms โ 52.95ms โ no change โ
โ QQuery 6 โ 11.99ms โ 12.01ms โ no change โ
โ QQuery 7 โ 95.89ms โ 90.98ms โ +1.05x faster โ
โ QQuery 8 โ 25.59ms โ 25.43ms โ no change โ
โ QQuery 9 โ 59.49ms โ 57.39ms โ no change โ
โ QQuery 10 โ 47.76ms โ 47.09ms โ no change โ
โ QQuery 11 โ 11.30ms โ 11.17ms โ no change โ
โ QQuery 12 โ 40.26ms โ 41.39ms โ no change โ
โ QQuery 13 โ 26.70ms โ 27.66ms โ no change โ
โ QQuery 14 โ 9.68ms โ 9.63ms โ no change โ
โ QQuery 15 โ 22.07ms โ 22.57ms โ no change โ
โ QQuery 16 โ 21.15ms โ 20.92ms โ no change โ
โ QQuery 17 โ 95.43ms โ 96.63ms โ no change โ
โ QQuery 18 โ 214.02ms โ 191.75ms โ +1.12x faster โ
โ QQuery 19 โ 28.84ms โ 25.39ms โ +1.14x faster โ
โ QQuery 20 โ 35.16ms โ 34.99ms โ no change โ
โ QQuery 21 โ 157.53ms โ 161.74ms โ no change โ
โ QQuery 22 โ 15.87ms โ 15.50ms โ no change โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 1166.59ms โ
โ Total Time (alamb_test_upstream_coalesce) โ 1135.38ms โ
โ Average Time (HEAD) โ 53.03ms โ
โ Average Time (alamb_test_upstream_coalesce) โ 51.61ms โ
โ Queries Faster โ 4 โ
โ Queries Slower โ 1 โ
โ Queries with No Change โ 17 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโ
```
</p>
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2940311662
๐ค `./gh_compare_branch.sh` [Benchmark Script](https://github.com/alamb/datafusion-benchmarking/blob/main/gh_compare_branch.sh) Running
Linux aal-dev 6.11.0-1013-gcp #13~24.04.1-Ubuntu SMP Wed Apr 2 16:34:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing alamb/test_upstream_coalesce (e79454f48929360b2753c51d9647f9a302c9e184) to 992d156c46f6ad4f0096c4a62b293cabef63718d [diff](https://github.com/apache/datafusion/compare/992d156c46f6ad4f0096c4a62b293cabef63718d..e79454f48929360b2753c51d9647f9a302c9e184)
Benchmarks: tpch_mem clickbench_partitioned clickbench_extended
Results will be posted here when complete
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2981154121
๐ค: Benchmark completed
<details><summary>Details</summary>
<p>
```
Comparing HEAD and alamb_test_upstream_coalesce
--------------------
Benchmark clickbench_extended.json
--------------------
โโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโ
โ Query โ HEAD โ alamb_test_upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 0 โ 1828.36 ms โ 1854.51 ms โ no change โ
โ QQuery 1 โ 723.60 ms โ 683.35 ms โ +1.06x faster โ
โ QQuery 2 โ 1384.70 ms โ 1321.27 ms โ no change โ
โ QQuery 3 โ 658.78 ms โ 642.70 ms โ no change โ
โ QQuery 4 โ 1342.72 ms โ 1349.52 ms โ no change โ
โ QQuery 5 โ 15021.90 ms โ 15188.07 ms โ no change โ
โ QQuery 6 โ 1999.39 ms โ 1980.18 ms โ no change โ
โ QQuery 7 โ 1953.41 ms โ 1920.72 ms โ no change โ
โ QQuery 8 โ 808.13 ms โ 797.19 ms โ no change โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 25720.98ms โ
โ Total Time (alamb_test_upstream_coalesce) โ 25737.51ms โ
โ Average Time (HEAD) โ 2857.89ms โ
โ Average Time (alamb_test_upstream_coalesce) โ 2859.72ms โ
โ Queries Faster โ 1 โ
โ Queries Slower โ 0 โ
โ Queries with No Change โ 8 โ
โ Queries with Failure โ 0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโ
--------------------
Benchmark clickbench_partitioned.json
--------------------
โโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโ
โ Query โ HEAD โ alamb_test_upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 0 โ 15.55 ms โ 15.10 ms โ no change โ
โ QQuery 1 โ 33.14 ms โ 33.18 ms โ no change โ
โ QQuery 2 โ 80.86 ms โ 81.13 ms โ no change โ
โ QQuery 3 โ 96.22 ms โ 98.51 ms โ no change โ
โ QQuery 4 โ 593.20 ms โ 597.56 ms โ no change โ
โ QQuery 5 โ 847.54 ms โ 817.57 ms โ no change โ
โ QQuery 6 โ 23.11 ms โ 25.77 ms โ 1.12x slower โ
โ QQuery 7 โ 35.71 ms โ 35.94 ms โ no change โ
โ QQuery 8 โ 860.27 ms โ 872.05 ms โ no change โ
โ QQuery 9 โ 1176.62 ms โ 1162.75 ms โ no change โ
โ QQuery 10 โ 260.45 ms โ 245.56 ms โ +1.06x faster โ
โ QQuery 11 โ 290.23 ms โ 273.78 ms โ +1.06x faster โ
โ QQuery 12 โ 878.76 ms โ 875.99 ms โ no change โ
โ QQuery 13 โ 1250.59 ms โ 1166.84 ms โ +1.07x faster โ
โ QQuery 14 โ 815.43 ms โ 795.20 ms โ no change โ
โ QQuery 15 โ 789.66 ms โ 806.26 ms โ no change โ
โ QQuery 16 โ 1652.56 ms โ 1601.31 ms โ no change โ
โ QQuery 17 โ 1631.03 ms โ 1584.09 ms โ no change โ
โ QQuery 18 โ 2907.58 ms โ 2860.38 ms โ no change โ
โ QQuery 19 โ 88.03 ms โ 85.04 ms โ no change โ
โ QQuery 20 โ 1116.73 ms โ 1094.13 ms โ no change โ
โ QQuery 21 โ 1231.96 ms โ 1243.58 ms โ no change โ
โ QQuery 22 โ 2086.33 ms โ 2060.10 ms โ no change โ
โ QQuery 23 โ 7609.11 ms โ 7638.07 ms โ no change โ
โ QQuery 24 โ 446.74 ms โ 432.72 ms โ no change โ
โ QQuery 25 โ 378.26 ms โ 364.62 ms โ no change โ
โ QQuery 26 โ 517.69 ms โ 485.77 ms โ +1.07x faster โ
โ QQuery 27 โ 1470.79 ms โ 1585.42 ms โ 1.08x slower โ
โ QQuery 28 โ 11761.10 ms โ 12264.48 ms โ no change โ
โ QQuery 29 โ 513.95 ms โ 526.86 ms โ no change โ
โ QQuery 30 โ 765.22 ms โ 809.07 ms โ 1.06x slower โ
โ QQuery 31 โ 825.49 ms โ 823.74 ms โ no change โ
โ QQuery 32 โ 2502.42 ms โ 2499.88 ms โ no change โ
โ QQuery 33 โ 3170.06 ms โ 3128.32 ms โ no change โ
โ QQuery 34 โ 3162.98 ms โ 3156.29 ms โ no change โ
โ QQuery 35 โ 1263.14 ms โ 1255.38 ms โ no change โ
โ QQuery 36 โ 121.47 ms โ 120.76 ms โ no change โ
โ QQuery 37 โ 57.52 ms โ 55.48 ms โ no change โ
โ QQuery 38 โ 121.35 ms โ 119.58 ms โ no change โ
โ QQuery 39 โ 188.51 ms โ 191.79 ms โ no change โ
โ QQuery 40 โ 49.48 ms โ 47.64 ms โ no change โ
โ QQuery 41 โ 43.56 ms โ 44.27 ms โ no change โ
โ QQuery 42 โ 38.51 ms โ 38.18 ms โ no change โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 53768.90ms โ
โ Total Time (alamb_test_upstream_coalesce) โ 54020.19ms โ
โ Average Time (HEAD) โ 1250.44ms โ
โ Average Time (alamb_test_upstream_coalesce) โ 1256.28ms โ
โ Queries Faster โ 4 โ
โ Queries Slower โ 3 โ
โ Queries with No Change โ 36 โ
โ Queries with Failure โ 0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโ
--------------------
Benchmark tpch_mem_sf1.json
--------------------
โโโโโโโโโโโโโโโโณโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโ
โ Query โ HEAD โ alamb_test_upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 1 โ 102.61 ms โ 92.16 ms โ +1.11x faster โ
โ QQuery 2 โ 20.52 ms โ 21.48 ms โ no change โ
โ QQuery 3 โ 32.05 ms โ 32.95 ms โ no change โ
โ QQuery 4 โ 18.62 ms โ 19.13 ms โ no change โ
โ QQuery 5 โ 49.90 ms โ 48.34 ms โ no change โ
โ QQuery 6 โ 11.97 ms โ 11.81 ms โ no change โ
โ QQuery 7 โ 87.76 ms โ 84.68 ms โ no change โ
โ QQuery 8 โ 23.83 ms โ 24.85 ms โ no change โ
โ QQuery 9 โ 54.08 ms โ 54.05 ms โ no change โ
โ QQuery 10 โ 43.02 ms โ 42.77 ms โ no change โ
โ QQuery 11 โ 11.23 ms โ 11.41 ms โ no change โ
โ QQuery 12 โ 34.69 ms โ 33.75 ms โ no change โ
โ QQuery 13 โ 26.52 ms โ 25.46 ms โ no change โ
โ QQuery 14 โ 9.55 ms โ 9.97 ms โ no change โ
โ QQuery 15 โ 18.85 ms โ 19.02 ms โ no change โ
โ QQuery 16 โ 19.09 ms โ 17.96 ms โ +1.06x faster โ
โ QQuery 17 โ 94.73 ms โ 94.57 ms โ no change โ
โ QQuery 18 โ 194.78 ms โ 172.17 ms โ +1.13x faster โ
โ QQuery 19 โ 25.89 ms โ 24.97 ms โ no change โ
โ QQuery 20 โ 33.05 ms โ 32.02 ms โ no change โ
โ QQuery 21 โ 148.87 ms โ 143.28 ms โ no change โ
โ QQuery 22 โ 14.76 ms โ 14.74 ms โ no change โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 1076.36ms โ
โ Total Time (alamb_test_upstream_coalesce) โ 1031.55ms โ
โ Average Time (HEAD) โ 48.93ms โ
โ Average Time (alamb_test_upstream_coalesce) โ 46.89ms โ
โ Queries Faster โ 3 โ
โ Queries Slower โ 0 โ
โ Queries with No Change โ 19 โ
โ Queries with Failure โ 0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโ
```
</p>
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2987874331
๐ค: Benchmark completed
<details><summary>Details</summary>
<p>
```
Comparing HEAD and alamb_test_upstream_coalesce
--------------------
Benchmark clickbench_extended.json
--------------------
โโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโ
โ Query โ HEAD โ alamb_test_upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 0 โ 1932.11 ms โ 1959.62 ms โ no change โ
โ QQuery 1 โ 671.60 ms โ 731.10 ms โ 1.09x slower โ
โ QQuery 2 โ 1354.58 ms โ 1390.01 ms โ no change โ
โ QQuery 3 โ 677.33 ms โ 672.01 ms โ no change โ
โ QQuery 4 โ 1359.71 ms โ 1413.07 ms โ no change โ
โ QQuery 5 โ 15014.69 ms โ 15070.00 ms โ no change โ
โ QQuery 6 โ 2038.40 ms โ 2077.47 ms โ no change โ
โ QQuery 7 โ 1899.44 ms โ 1917.93 ms โ no change โ
โ QQuery 8 โ 799.21 ms โ 802.77 ms โ no change โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 25747.08ms โ
โ Total Time (alamb_test_upstream_coalesce) โ 26033.98ms โ
โ Average Time (HEAD) โ 2860.79ms โ
โ Average Time (alamb_test_upstream_coalesce) โ 2892.66ms โ
โ Queries Faster โ 0 โ
โ Queries Slower โ 1 โ
โ Queries with No Change โ 8 โ
โ Queries with Failure โ 0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโ
--------------------
Benchmark clickbench_partitioned.json
--------------------
โโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโ
โ Query โ HEAD โ alamb_test_upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 0 โ 15.29 ms โ 14.86 ms โ no change โ
โ QQuery 1 โ 32.32 ms โ 32.47 ms โ no change โ
โ QQuery 2 โ 80.82 ms โ 83.09 ms โ no change โ
โ QQuery 3 โ 97.30 ms โ 100.35 ms โ no change โ
โ QQuery 4 โ 582.52 ms โ 601.94 ms โ no change โ
โ QQuery 5 โ 855.20 ms โ 890.36 ms โ no change โ
โ QQuery 6 โ 24.39 ms โ 22.99 ms โ +1.06x faster โ
โ QQuery 7 โ 37.26 ms โ 37.48 ms โ no change โ
โ QQuery 8 โ 870.44 ms โ 903.78 ms โ no change โ
โ QQuery 9 โ 1149.36 ms โ 1158.10 ms โ no change โ
โ QQuery 10 โ 254.65 ms โ 246.37 ms โ no change โ
โ QQuery 11 โ 283.28 ms โ 274.40 ms โ no change โ
โ QQuery 12 โ 893.90 ms โ 869.23 ms โ no change โ
โ QQuery 13 โ 1245.44 ms โ 1204.88 ms โ no change โ
โ QQuery 14 โ 823.03 ms โ 807.97 ms โ no change โ
โ QQuery 15 โ 784.04 ms โ 779.40 ms โ no change โ
โ QQuery 16 โ 1624.44 ms โ 1598.59 ms โ no change โ
โ QQuery 17 โ 1621.59 ms โ 1594.75 ms โ no change โ
โ QQuery 18 โ 2897.95 ms โ 2867.76 ms โ no change โ
โ QQuery 19 โ 85.75 ms โ 85.91 ms โ no change โ
โ QQuery 20 โ 1137.00 ms โ 1185.54 ms โ no change โ
โ QQuery 21 โ 1285.35 ms โ 1311.01 ms โ no change โ
โ QQuery 22 โ 2134.45 ms โ 2186.42 ms โ no change โ
โ QQuery 23 โ 7323.06 ms โ 7573.71 ms โ no change โ
โ QQuery 24 โ 438.82 ms โ 427.57 ms โ no change โ
โ QQuery 25 โ 309.06 ms โ 298.56 ms โ no change โ
โ QQuery 26 โ 435.91 ms โ 431.97 ms โ no change โ
โ QQuery 27 โ 1513.35 ms โ 1592.76 ms โ 1.05x slower โ
โ QQuery 28 โ 11798.50 ms โ 12256.59 ms โ no change โ
โ QQuery 29 โ 524.57 ms โ 532.43 ms โ no change โ
โ QQuery 30 โ 762.01 ms โ 807.18 ms โ 1.06x slower โ
โ QQuery 31 โ 776.54 ms โ 818.54 ms โ 1.05x slower โ
โ QQuery 32 โ 2461.47 ms โ 2445.66 ms โ no change โ
โ QQuery 33 โ 3151.15 ms โ 3163.82 ms โ no change โ
โ QQuery 34 โ 3136.04 ms โ 3162.43 ms โ no change โ
โ QQuery 35 โ 1282.86 ms โ 1254.00 ms โ no change โ
โ QQuery 36 โ 123.18 ms โ 128.16 ms โ no change โ
โ QQuery 37 โ 55.08 ms โ 57.78 ms โ no change โ
โ QQuery 38 โ 120.54 ms โ 123.58 ms โ no change โ
โ QQuery 39 โ 200.20 ms โ 195.98 ms โ no change โ
โ QQuery 40 โ 48.71 ms โ 48.11 ms โ no change โ
โ QQuery 41 โ 44.78 ms โ 43.76 ms โ no change โ
โ QQuery 42 โ 38.79 ms โ 38.68 ms โ no change โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 53360.37ms โ
โ Total Time (alamb_test_upstream_coalesce) โ 54258.91ms โ
โ Average Time (HEAD) โ 1240.94ms โ
โ Average Time (alamb_test_upstream_coalesce) โ 1261.84ms โ
โ Queries Faster โ 1 โ
โ Queries Slower โ 3 โ
โ Queries with No Change โ 39 โ
โ Queries with Failure โ 0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโ
--------------------
Benchmark tpch_mem_sf1.json
--------------------
โโโโโโโโโโโโโโโโณโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโ
โ Query โ HEAD โ alamb_test_upstream_coalesce โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 1 โ 97.12 ms โ 89.91 ms โ +1.08x faster โ
โ QQuery 2 โ 20.42 ms โ 21.16 ms โ no change โ
โ QQuery 3 โ 32.17 ms โ 32.80 ms โ no change โ
โ QQuery 4 โ 17.93 ms โ 19.10 ms โ 1.06x slower โ
โ QQuery 5 โ 48.27 ms โ 49.10 ms โ no change โ
โ QQuery 6 โ 11.91 ms โ 11.81 ms โ no change โ
โ QQuery 7 โ 88.52 ms โ 83.99 ms โ +1.05x faster โ
โ QQuery 8 โ 22.96 ms โ 23.81 ms โ no change โ
โ QQuery 9 โ 53.28 ms โ 53.21 ms โ no change โ
โ QQuery 10 โ 42.29 ms โ 43.34 ms โ no change โ
โ QQuery 11 โ 11.12 ms โ 11.29 ms โ no change โ
โ QQuery 12 โ 34.22 ms โ 33.59 ms โ no change โ
โ QQuery 13 โ 26.44 ms โ 26.00 ms โ no change โ
โ QQuery 14 โ 10.09 ms โ 9.87 ms โ no change โ
โ QQuery 15 โ 20.10 ms โ 19.39 ms โ no change โ
โ QQuery 16 โ 18.92 ms โ 18.02 ms โ no change โ
โ QQuery 17 โ 96.13 ms โ 94.21 ms โ no change โ
โ QQuery 18 โ 190.71 ms โ 172.82 ms โ +1.10x faster โ
โ QQuery 19 โ 25.35 ms โ 26.69 ms โ 1.05x slower โ
โ QQuery 20 โ 31.94 ms โ 32.32 ms โ no change โ
โ QQuery 21 โ 150.45 ms โ 147.83 ms โ no change โ
โ QQuery 22 โ 14.93 ms โ 14.82 ms โ no change โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 1065.26ms โ
โ Total Time (alamb_test_upstream_coalesce) โ 1035.06ms โ
โ Average Time (HEAD) โ 48.42ms โ
โ Average Time (alamb_test_upstream_coalesce) โ 47.05ms โ
โ Queries Faster โ 3 โ
โ Queries Slower โ 2 โ
โ Queries with No Change โ 17 โ
โ Queries with Failure โ 0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโ
```
</p>
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2981029404
๐ค `./gh_compare_branch.sh` [Benchmark Script](https://github.com/alamb/datafusion-benchmarking/blob/main/gh_compare_branch.sh) Running
Linux aal-dev 6.11.0-1015-gcp #15~24.04.1-Ubuntu SMP Thu Apr 24 20:41:05 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing alamb/test_upstream_coalesce (ed31ce17d8743c3decd2dfbcb1e4bdce36d8132b) to 0c3bb78e24722e2a4f19cdc9a76f1c498949f5be [diff](https://github.com/apache/datafusion/compare/0c3bb78e24722e2a4f19cdc9a76f1c498949f5be..ed31ce17d8743c3decd2dfbcb1e4bdce36d8132b)
Benchmarks: tpch_mem clickbench_partitioned clickbench_extended
Results will be posted here when complete
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2940467360
TLDR is that the performance looks good. I'll fixup the tests shortly
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on code in PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#discussion_r2127362835
##########
datafusion/sqllogictest/test_files/joins.slt:
##########
@@ -2107,9 +2107,9 @@ RIGHT JOIN (select t2_id from join_t2 where join_t2.t2_id > 11) as join_t2
ON join_t1.t1_id < join_t2.t2_id
----
33 44
Review Comment:
this query has no ORDER BY so it is ok if the output emerges in a different order
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2952394526
๐ค `./gh_compare_branch.sh` [Benchmark Script](https://github.com/alamb/datafusion-benchmarking/blob/main/gh_compare_branch.sh) Running
Linux aal-dev 6.11.0-1013-gcp #13~24.04.1-Ubuntu SMP Wed Apr 2 16:34:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing alamb/test_upstream_coalesce (7d6471b5c9220d013cadd7313c655081af7115af) to 1daa5ed5cc51546904d45e23cc148601d973942a [diff](https://github.com/apache/datafusion/compare/1daa5ed5cc51546904d45e23cc148601d973942a..7d6471b5c9220d013cadd7313c655081af7115af)
Benchmarks: tpch_mem clickbench_partitioned clickbench_extended
Results will be posted here when complete
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft: Use upstream arrow `coalesce` kernel in DataFusion [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #16249:
URL: https://github.com/apache/datafusion/pull/16249#issuecomment-2954090088
๐ค `./gh_compare_branch.sh` [Benchmark Script](https://github.com/alamb/datafusion-benchmarking/blob/main/gh_compare_branch.sh) Running
Linux aal-dev 6.11.0-1013-gcp #13~24.04.1-Ubuntu SMP Wed Apr 2 16:34:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing alamb/test_upstream_coalesce (ea8b7000d7d804c532cd57b84bdf98c332904503) to 992d156c46f6ad4f0096c4a62b293cabef63718d [diff](https://github.com/apache/datafusion/compare/992d156c46f6ad4f0096c4a62b293cabef63718d..ea8b7000d7d804c532cd57b84bdf98c332904503)
Benchmarks: tpch_mem clickbench_partitioned clickbench_extended
Results will be posted here when complete
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org