This is an automated email from the ASF dual-hosted git repository.
agrove pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion-comet.git
The following commit(s) were added to refs/heads/main by this push:
new 03a248a7 chore: Prepare 0.2.0 release (#866)
03a248a7 is described below
commit 03a248a7caed83163987cb85d3e410b13b16d9e9
Author: Andy Grove <[email protected]>
AuthorDate: Sun Aug 25 09:03:14 2024 -0600
chore: Prepare 0.2.0 release (#866)
* update version in Dockerfile
* use offical DataFusion release
* Generate 0.2.0 changelog
* regenreate after squashing commits
* enable spark.comet.exec.enabled by default
* update benchmarking configs
* add new benchmark results
* delete old benchmark results
* add chart
* Update docs/source/user-guide/configs.md
Co-authored-by: Oleks V <[email protected]>
* Update common/src/main/scala/org/apache/comet/CometConf.scala
Co-authored-by: Oleks V <[email protected]>
* tpc-ds results
* fix links
---------
Co-authored-by: Oleks V <[email protected]>
---
README.md | 14 +-
.../main/scala/org/apache/comet/CometConf.scala | 4 +-
dev/changelog/0.2.0.md | 146 ++++++
dev/release/README.md | 2 +-
dev/release/generate-changelog.py | 6 +-
.../2024-07-19/tpch_allqueries.png | Bin 26393 -> 0 bytes
.../2024-07-19/tpch_queries_compare.png | Bin 29269 -> 0 bytes
.../2024-07-19/tpch_queries_speedup.png | Bin 42444 -> 0 bytes
.../2024-08-23/tpcds_allqueries.png | Bin 0 -> 23827 bytes
.../2024-08-23/tpcds_queries_compare.png | Bin 0 -> 38305 bytes
.../2024-08-23/tpcds_queries_speedup_abs.png | Bin 0 -> 62949 bytes
.../2024-08-23/tpch_allqueries.png | Bin 0 -> 26062 bytes
.../2024-08-23/tpch_queries_compare.png | Bin 0 -> 29207 bytes
.../2024-08-23/tpch_queries_speedup_rel.png | Bin 0 -> 43233 bytes
.../2024-07-19/datafusion-tpch.json | 73 ---
.../benchmark-results/2024-07-19/spark-tpch.json | 138 ------
.../benchmark-results/2024-08-23/comet-tpcds.json | 542 +++++++++++++++++++++
.../{2024-07-19 => 2024-08-23}/comet-tpch.json | 201 +++++---
.../2024-08-23/datafusion-python-tpch.json | 73 +++
.../benchmark-results/2024-08-23/spark-tpcds.json | 524 ++++++++++++++++++++
.../benchmark-results/2024-08-23/spark-tpch.json | 183 +++++++
.../contributor-guide/benchmark-results/tpc-ds.md | 43 ++
.../contributor-guide/benchmark-results/tpc-h.md | 44 ++
docs/source/contributor-guide/benchmarking.md | 29 +-
docs/source/user-guide/configs.md | 2 +-
kube/Dockerfile | 2 +-
26 files changed, 1698 insertions(+), 328 deletions(-)
diff --git a/README.md b/README.md
index 1f8ba6d7..bf6c8612 100644
--- a/README.md
+++ b/README.md
@@ -44,30 +44,32 @@ The following chart shows the time it takes to run the 22
TPC-H queries against
using a single executor with 8 cores. See the [Comet Benchmarking
Guide](https://datafusion.apache.org/comet/contributor-guide/benchmarking.html)
for details of the environment used for these benchmarks.
-When using Comet, the overall run time is reduced from 649 seconds to 433
seconds, a 1.5x speedup, with some queries
-showing a 2x-3x speedup.
+When using Comet, the overall run time is reduced from 616 seconds to 379
seconds, a 1.62x speedup, with query 1
+running more than 7x faster than Spark.
-Running the same queries with DataFusion standalone (without Spark) using the
same number of cores results in a 3.9x
+Running the same queries with DataFusion standalone (without Spark) using the
same number of cores results in a 3.6x
speedup compared to Spark.
Comet is not yet achieving full DataFusion speeds in all cases, but with
future work we aim to provide a 2x-4x speedup
for a broader set of queries.
-
+
Here is a breakdown showing relative performance of Spark, Comet, and
DataFusion for each TPC-H query.
-
+
The following chart shows how much Comet currently accelerates each query from
the benchmark. Performance optimization
is an ongoing task, and we welcome contributions from the community to help
achieve even greater speedups in the future.
-
+
These benchmarks can be reproduced in any environment using the documentation
in the
[Comet Benchmarking
Guide](https://datafusion.apache.org/comet/contributor-guide/benchmarking.html).
We encourage
you to run your own benchmarks.
+Results for our benchmark derived from TPC-DS are available in the
[benchmarking
guide](https://datafusion.apache.org/comet/contributor-guide/benchmark-results/tpc-ds.html).
+
## Use Commodity Hardware
Comet leverages commodity hardware, eliminating the need for costly hardware
upgrades or
diff --git a/common/src/main/scala/org/apache/comet/CometConf.scala
b/common/src/main/scala/org/apache/comet/CometConf.scala
index 9f34709a..ee429b80 100644
--- a/common/src/main/scala/org/apache/comet/CometConf.scala
+++ b/common/src/main/scala/org/apache/comet/CometConf.scala
@@ -99,9 +99,9 @@ object CometConf extends ShimCometConf {
"native space. Note: each operator is associated with a separate
config in the " +
"format of 'spark.comet.exec.<operator_name>.enabled' at the moment,
and both the " +
"config and this need to be turned on, in order for the operator to be
executed in " +
- "native. By default, this config is false.")
+ "native. By default, this config is true.")
.booleanConf
- .createWithDefault(false)
+ .createWithDefault(true)
val COMET_EXEC_PROJECT_ENABLED: ConfigEntry[Boolean] =
createExecEnabledConfig("project", defaultValue = true)
diff --git a/dev/changelog/0.2.0.md b/dev/changelog/0.2.0.md
new file mode 100644
index 00000000..6906a640
--- /dev/null
+++ b/dev/changelog/0.2.0.md
@@ -0,0 +1,146 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# DataFusion Comet 0.2.0 Changelog
+
+This release consists of 87 commits from 14 contributors. See credits at the
end of this changelog for more information.
+
+**Fixed bugs:**
+
+- fix: dictionary decimal vector optimization
[#705](https://github.com/apache/datafusion-comet/pull/705) (kazuyukitanimura)
+- fix: Unsupported window expression should fall back to Spark
[#710](https://github.com/apache/datafusion-comet/pull/710) (viirya)
+- fix: ReusedExchangeExec can be child operator of CometBroadcastExchangeExec
[#713](https://github.com/apache/datafusion-comet/pull/713) (viirya)
+- fix: Fallback to Spark for window expression with range frame
[#719](https://github.com/apache/datafusion-comet/pull/719) (viirya)
+- fix: Remove `skip.surefire.tests` mvn property
[#739](https://github.com/apache/datafusion-comet/pull/739) (wForget)
+- fix: subquery execution under CometTakeOrderedAndProjectExec should not fail
[#748](https://github.com/apache/datafusion-comet/pull/748) (viirya)
+- fix: skip negative scale checks for creating decimals
[#723](https://github.com/apache/datafusion-comet/pull/723) (kazuyukitanimura)
+- fix: Fallback to Spark for unsupported partitioning
[#759](https://github.com/apache/datafusion-comet/pull/759) (viirya)
+- fix: Unsupported types for SinglePartition should fallback to Spark
[#765](https://github.com/apache/datafusion-comet/pull/765) (viirya)
+- fix: unwrap dictionaries in CreateNamedStruct
[#754](https://github.com/apache/datafusion-comet/pull/754) (andygrove)
+- fix: Fallback to Spark for unsupported input besides ordering
[#768](https://github.com/apache/datafusion-comet/pull/768) (viirya)
+- fix: Native window operator should be CometUnaryExec
[#774](https://github.com/apache/datafusion-comet/pull/774) (viirya)
+- fix: Fallback to Spark when shuffling on struct with duplicate field name
[#776](https://github.com/apache/datafusion-comet/pull/776) (viirya)
+- fix: withInfo was overwriting information in some cases
[#780](https://github.com/apache/datafusion-comet/pull/780) (andygrove)
+- fix: Improve support for nested structs
[#800](https://github.com/apache/datafusion-comet/pull/800) (eejbyfeldt)
+- fix: Sort on single struct should fallback to Spark
[#811](https://github.com/apache/datafusion-comet/pull/811) (viirya)
+- fix: Check sort order of SortExec instead of child output
[#821](https://github.com/apache/datafusion-comet/pull/821) (viirya)
+- fix: Fix panic in `avg` aggregate and disable `stddev` by default
[#819](https://github.com/apache/datafusion-comet/pull/819) (andygrove)
+- fix: Supported nested types in HashJoin
[#735](https://github.com/apache/datafusion-comet/pull/735) (eejbyfeldt)
+
+**Performance related:**
+
+- perf: Improve performance of CASE .. WHEN expressions
[#703](https://github.com/apache/datafusion-comet/pull/703) (andygrove)
+- perf: Optimize IfExpr by delegating to CaseExpr
[#681](https://github.com/apache/datafusion-comet/pull/681) (andygrove)
+- fix: optimize isNullAt
[#732](https://github.com/apache/datafusion-comet/pull/732) (kazuyukitanimura)
+- perf: decimal decode improvements
[#727](https://github.com/apache/datafusion-comet/pull/727) (parthchandra)
+- fix: Remove castting on decimals with a small precision to decimal256
[#741](https://github.com/apache/datafusion-comet/pull/741) (kazuyukitanimura)
+- fix: optimize some bit functions
[#718](https://github.com/apache/datafusion-comet/pull/718) (kazuyukitanimura)
+- fix: Optimize getDecimal for small precision
[#758](https://github.com/apache/datafusion-comet/pull/758) (kazuyukitanimura)
+- perf: add metrics to CopyExec and ScanExec
[#778](https://github.com/apache/datafusion-comet/pull/778) (andygrove)
+- fix: Optimize decimal creation macros
[#764](https://github.com/apache/datafusion-comet/pull/764) (kazuyukitanimura)
+- perf: Improve count aggregate performance
[#784](https://github.com/apache/datafusion-comet/pull/784) (andygrove)
+- fix: Optimize read_side_padding
[#772](https://github.com/apache/datafusion-comet/pull/772) (kazuyukitanimura)
+- perf: Remove some redundant copying of batches
[#816](https://github.com/apache/datafusion-comet/pull/816) (andygrove)
+- perf: Remove redundant copying of batches after FilterExec
[#835](https://github.com/apache/datafusion-comet/pull/835) (andygrove)
+- fix: Optimize CheckOverflow
[#852](https://github.com/apache/datafusion-comet/pull/852) (kazuyukitanimura)
+- perf: Add benchmarks for Spark Scan + Comet Exec
[#863](https://github.com/apache/datafusion-comet/pull/863) (andygrove)
+
+**Implemented enhancements:**
+
+- feat: Add support for time-zone, 3 & 5 digit years: Cast from string to
timestamp. [#704](https://github.com/apache/datafusion-comet/pull/704)
(akhilss99)
+- feat: Support count AggregateUDF for window function
[#736](https://github.com/apache/datafusion-comet/pull/736) (huaxingao)
+- feat: Implement basic version of RLIKE
[#734](https://github.com/apache/datafusion-comet/pull/734) (andygrove)
+- feat: show executed native plan with metrics when in debug mode
[#746](https://github.com/apache/datafusion-comet/pull/746) (andygrove)
+- feat: Add GetStructField expression
[#731](https://github.com/apache/datafusion-comet/pull/731) (Kimahriman)
+- feat: Add config to enable native upper and lower string conversion
[#767](https://github.com/apache/datafusion-comet/pull/767) (andygrove)
+- feat: Improve native explain
[#795](https://github.com/apache/datafusion-comet/pull/795) (andygrove)
+- feat: Add support for null literal with struct type
[#797](https://github.com/apache/datafusion-comet/pull/797) (eejbyfeldt)
+- feat: Optimze CreateNamedStruct preserve dictionaries
[#789](https://github.com/apache/datafusion-comet/pull/789) (eejbyfeldt)
+- feat: `CreateArray` support
[#793](https://github.com/apache/datafusion-comet/pull/793) (Kimahriman)
+- feat: Add native thread configs
[#828](https://github.com/apache/datafusion-comet/pull/828) (viirya)
+- feat: Add specific configs for converting Spark Parquet and JSON data to
Arrow [#832](https://github.com/apache/datafusion-comet/pull/832) (andygrove)
+- feat: Support sum in window function
[#802](https://github.com/apache/datafusion-comet/pull/802) (huaxingao)
+- feat: Simplify configs for enabling/disabling operators
[#855](https://github.com/apache/datafusion-comet/pull/855) (andygrove)
+- feat: Enable `clippy::clone_on_ref_ptr` on `proto` and `spark_exprs` crates
[#859](https://github.com/apache/datafusion-comet/pull/859) (comphead)
+- feat: Enable `clippy::clone_on_ref_ptr` on `core` crate
[#860](https://github.com/apache/datafusion-comet/pull/860) (comphead)
+- feat: Use CometPlugin as main entrypoint
[#853](https://github.com/apache/datafusion-comet/pull/853) (andygrove)
+
+**Documentation updates:**
+
+- doc: Update outdated spark.comet.columnar.shuffle.enabled configuration doc
[#738](https://github.com/apache/datafusion-comet/pull/738) (wForget)
+- docs: Add explicit configs for enabling operators
[#801](https://github.com/apache/datafusion-comet/pull/801) (andygrove)
+- doc: Document CometPlugin to start Comet in cluster mode
[#836](https://github.com/apache/datafusion-comet/pull/836) (comphead)
+
+**Other:**
+
+- chore: Make rust clippy happy
[#701](https://github.com/apache/datafusion-comet/pull/701) (Xuanwo)
+- chore: Update version to 0.2.0 and add 0.1.0 changelog
[#696](https://github.com/apache/datafusion-comet/pull/696) (andygrove)
+- chore: Use rust-toolchain.toml for better toolchain support
[#699](https://github.com/apache/datafusion-comet/pull/699) (Xuanwo)
+- chore(native): Make sure all targets in workspace been covered by clippy
[#702](https://github.com/apache/datafusion-comet/pull/702) (Xuanwo)
+- Apache DataFusion Comet Logo
[#697](https://github.com/apache/datafusion-comet/pull/697) (aocsa)
+- chore: Add logo to rat exclude list
[#709](https://github.com/apache/datafusion-comet/pull/709) (andygrove)
+- chore: Use new logo in README and website
[#724](https://github.com/apache/datafusion-comet/pull/724) (andygrove)
+- build: Add Comet logo files into exclude list
[#726](https://github.com/apache/datafusion-comet/pull/726) (viirya)
+- chore: Remove TPC-DS benchmark results
[#728](https://github.com/apache/datafusion-comet/pull/728) (andygrove)
+- chore: make Cast's logic reusable for other projects
[#716](https://github.com/apache/datafusion-comet/pull/716) (Blizzara)
+- chore: move scalar_funcs into spark-expr
[#712](https://github.com/apache/datafusion-comet/pull/712) (Blizzara)
+- chore: Bump DataFusion to rev 35c2e7e
[#740](https://github.com/apache/datafusion-comet/pull/740) (andygrove)
+- chore: add more aggregate functions to benchmark test
[#706](https://github.com/apache/datafusion-comet/pull/706) (huaxingao)
+- chore: Add criterion benchmark for decimal_div
[#743](https://github.com/apache/datafusion-comet/pull/743) (andygrove)
+- build: Re-enable TPCDS q72 for broadcast and hash join configs
[#781](https://github.com/apache/datafusion-comet/pull/781) (viirya)
+- chore: bump DataFusion to rev f4e519f
[#783](https://github.com/apache/datafusion-comet/pull/783) (huaxingao)
+- chore: Upgrade to DataFusion rev bddb641 and disable "skip partial
aggregates" feature [#788](https://github.com/apache/datafusion-comet/pull/788)
(andygrove)
+- chore: Remove legacy code for adding a cast to a coalesce
[#790](https://github.com/apache/datafusion-comet/pull/790) (andygrove)
+- chore: Use DataFusion 41.0.0-rc1
[#794](https://github.com/apache/datafusion-comet/pull/794) (andygrove)
+- chore: rename `CometRowToColumnar` and fix duplication bug
[#785](https://github.com/apache/datafusion-comet/pull/785) (Kimahriman)
+- chore: Enable shuffle in micro benchmarks
[#806](https://github.com/apache/datafusion-comet/pull/806) (andygrove)
+- Minor: ScanExec code cleanup and additional documentation
[#804](https://github.com/apache/datafusion-comet/pull/804) (andygrove)
+- chore: Make it possible to run 'make benchmark-%' using jvm 17+
[#823](https://github.com/apache/datafusion-comet/pull/823) (eejbyfeldt)
+- chore: Add more unsupported cases to supportedSortType
[#825](https://github.com/apache/datafusion-comet/pull/825) (viirya)
+- chore: Enable Comet shuffle with AQE coalesce partitions
[#834](https://github.com/apache/datafusion-comet/pull/834) (viirya)
+- chore: Add GitHub workflow to publish Docker image
[#847](https://github.com/apache/datafusion-comet/pull/847) (andygrove)
+- chore: Revert "fix: change the not exists base image apache/spark:3.4.3 to
3.4.2" [#854](https://github.com/apache/datafusion-comet/pull/854) (haoxins)
+- chore: fix docker-publish attempt 1
[#851](https://github.com/apache/datafusion-comet/pull/851) (andygrove)
+- minor: stop warning that AQEShuffleRead cannot run natively
[#842](https://github.com/apache/datafusion-comet/pull/842) (andygrove)
+- chore: Improve ObjectHashAggregate fallback error message
[#849](https://github.com/apache/datafusion-comet/pull/849) (andygrove)
+- chore: Fix docker image publishing (specify ghcr.io in tag)
[#856](https://github.com/apache/datafusion-comet/pull/856) (andygrove)
+- chore: Use Git tag as Comet version when publishing Docker images
[#857](https://github.com/apache/datafusion-comet/pull/857) (andygrove)
+
+## Credits
+
+Thank you to everyone who contributed to this release. Here is a breakdown of
commits (PRs merged) per contributor.
+
+```
+ 36 Andy Grove
+ 16 Liang-Chi Hsieh
+ 9 KAZUYUKI TANIMURA
+ 5 Emil Ejbyfeldt
+ 4 Huaxin Gao
+ 3 Adam Binford
+ 3 Oleks V
+ 3 Xuanwo
+ 2 Arttu
+ 2 Zhen Wang
+ 1 Akhil S S
+ 1 Alexander Ocsa
+ 1 Parth Chandra
+ 1 Xin Hao
+```
+
+Thank you also to everyone who contributed in other ways such as filing
issues, reviewing PRs, and providing feedback on this release.
diff --git a/dev/release/README.md b/dev/release/README.md
index fc8e7ca4..83ba3f14 100644
--- a/dev/release/README.md
+++ b/dev/release/README.md
@@ -74,7 +74,7 @@ example generates a change log of all changes between the
previous version and t
```shell
export GITHUB_TOKEN=<your-token-here>
-python3 generate-changelog.py 52241f44315fd1b2fd6cd9031bb05f046fe3a5a3
branch-0.1 0.0.0 > ../changelog/0.1.0.md
+python3 generate-changelog.py 0.0.0 HEAD 0.1.0 > ../changelog/0.1.0.md
```
Create a PR against the _main_ branch to add this change log and once this is
approved and merged, cherry-pick the
diff --git a/dev/release/generate-changelog.py
b/dev/release/generate-changelog.py
index ea997f23..5bb426cd 100755
--- a/dev/release/generate-changelog.py
+++ b/dev/release/generate-changelog.py
@@ -77,10 +77,10 @@ def generate_changelog(repo, repo_name, tag1, tag2,
version):
labels = [label.name for label in pull.labels]
if 'api change' in labels or cc_breaking:
breaking.append((pull, commit))
- elif 'bug' in labels or cc_type == 'fix':
- bugs.append((pull, commit))
elif 'performance' in labels or cc_type == 'perf':
performance.append((pull, commit))
+ elif 'bug' in labels or cc_type == 'fix':
+ bugs.append((pull, commit))
elif 'enhancement' in labels or cc_type == 'feat':
enhancements.append((pull, commit))
elif 'documentation' in labels or cc_type == 'docs' or cc_type ==
'doc':
@@ -123,9 +123,9 @@ under the License.
f"See credits at the end of this changelog for more information.\n")
print_pulls(repo_name, "Breaking changes", breaking)
+ print_pulls(repo_name, "Fixed bugs", bugs)
print_pulls(repo_name, "Performance related", performance)
print_pulls(repo_name, "Implemented enhancements", enhancements)
- print_pulls(repo_name, "Fixed bugs", bugs)
print_pulls(repo_name, "Documentation updates", docs)
print_pulls(repo_name, "Other", other)
diff --git
a/docs/source/_static/images/benchmark-results/2024-07-19/tpch_allqueries.png
b/docs/source/_static/images/benchmark-results/2024-07-19/tpch_allqueries.png
deleted file mode 100644
index dccee77b..00000000
Binary files
a/docs/source/_static/images/benchmark-results/2024-07-19/tpch_allqueries.png
and /dev/null differ
diff --git
a/docs/source/_static/images/benchmark-results/2024-07-19/tpch_queries_compare.png
b/docs/source/_static/images/benchmark-results/2024-07-19/tpch_queries_compare.png
deleted file mode 100644
index ce0a5870..00000000
Binary files
a/docs/source/_static/images/benchmark-results/2024-07-19/tpch_queries_compare.png
and /dev/null differ
diff --git
a/docs/source/_static/images/benchmark-results/2024-07-19/tpch_queries_speedup.png
b/docs/source/_static/images/benchmark-results/2024-07-19/tpch_queries_speedup.png
deleted file mode 100644
index 57a102fa..00000000
Binary files
a/docs/source/_static/images/benchmark-results/2024-07-19/tpch_queries_speedup.png
and /dev/null differ
diff --git
a/docs/source/_static/images/benchmark-results/2024-08-23/tpcds_allqueries.png
b/docs/source/_static/images/benchmark-results/2024-08-23/tpcds_allqueries.png
new file mode 100644
index 00000000..0262ac85
Binary files /dev/null and
b/docs/source/_static/images/benchmark-results/2024-08-23/tpcds_allqueries.png
differ
diff --git
a/docs/source/_static/images/benchmark-results/2024-08-23/tpcds_queries_compare.png
b/docs/source/_static/images/benchmark-results/2024-08-23/tpcds_queries_compare.png
new file mode 100644
index 00000000..970cabcb
Binary files /dev/null and
b/docs/source/_static/images/benchmark-results/2024-08-23/tpcds_queries_compare.png
differ
diff --git
a/docs/source/_static/images/benchmark-results/2024-08-23/tpcds_queries_speedup_abs.png
b/docs/source/_static/images/benchmark-results/2024-08-23/tpcds_queries_speedup_abs.png
new file mode 100644
index 00000000..3034ef06
Binary files /dev/null and
b/docs/source/_static/images/benchmark-results/2024-08-23/tpcds_queries_speedup_abs.png
differ
diff --git
a/docs/source/_static/images/benchmark-results/2024-08-23/tpch_allqueries.png
b/docs/source/_static/images/benchmark-results/2024-08-23/tpch_allqueries.png
new file mode 100644
index 00000000..da0a8615
Binary files /dev/null and
b/docs/source/_static/images/benchmark-results/2024-08-23/tpch_allqueries.png
differ
diff --git
a/docs/source/_static/images/benchmark-results/2024-08-23/tpch_queries_compare.png
b/docs/source/_static/images/benchmark-results/2024-08-23/tpch_queries_compare.png
new file mode 100644
index 00000000..326819d9
Binary files /dev/null and
b/docs/source/_static/images/benchmark-results/2024-08-23/tpch_queries_compare.png
differ
diff --git
a/docs/source/_static/images/benchmark-results/2024-08-23/tpch_queries_speedup_rel.png
b/docs/source/_static/images/benchmark-results/2024-08-23/tpch_queries_speedup_rel.png
new file mode 100644
index 00000000..cc247f49
Binary files /dev/null and
b/docs/source/_static/images/benchmark-results/2024-08-23/tpch_queries_speedup_rel.png
differ
diff --git
a/docs/source/contributor-guide/benchmark-results/2024-07-19/datafusion-tpch.json
b/docs/source/contributor-guide/benchmark-results/2024-07-19/datafusion-tpch.json
deleted file mode 100644
index f032d536..00000000
---
a/docs/source/contributor-guide/benchmark-results/2024-07-19/datafusion-tpch.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "engine": "datafusion-python",
- "datafusion-version": "38.0.1",
- "benchmark": "tpch",
- "data_path": "/mnt/bigdata/tpch/sf100/",
- "query_path": "../../tpch/queries/",
- "1": [
- 7.410699844360352
- ],
- "2": [
- 2.966364622116089
- ],
- "3": [
- 3.988652467727661
- ],
- "4": [
- 1.8821499347686768
- ],
- "5": [
- 6.957948684692383
- ],
- "6": [
- 1.779731273651123
- ],
- "7": [
- 14.559604167938232
- ],
- "8": [
- 7.062309265136719
- ],
- "9": [
- 14.908353805541992
- ],
- "10": [
- 7.73533296585083
- ],
- "11": [
- 2.346423387527466
- ],
- "12": [
- 2.7248904705047607
- ],
- "13": [
- 6.38663387298584
- ],
- "14": [
- 2.4675676822662354
- ],
- "15": [
- 4.799000024795532
- ],
- "16": [
- 1.9091999530792236
- ],
- "17": [
- 19.230653762817383
- ],
- "18": [
- 25.15683078765869
- ],
- "19": [
- 4.2268781661987305
- ],
- "20": [
- 8.66620659828186
- ],
- "21": [
- 17.696006059646606
- ],
- "22": [
- 1.3805692195892334
- ]
-}
\ No newline at end of file
diff --git
a/docs/source/contributor-guide/benchmark-results/2024-07-19/spark-tpch.json
b/docs/source/contributor-guide/benchmark-results/2024-07-19/spark-tpch.json
deleted file mode 100644
index cf50da5c..00000000
--- a/docs/source/contributor-guide/benchmark-results/2024-07-19/spark-tpch.json
+++ /dev/null
@@ -1,138 +0,0 @@
-{
- "engine": "datafusion-comet",
- "benchmark": "tpch",
- "data_path": "/mnt/bigdata/tpch/sf100/",
- "query_path": "../../tpch/queries",
- "spark_conf": {
- "spark.driver.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false
-XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add- [...]
- "spark.sql.warehouse.dir":
"file:/home/andy/git/apache/datafusion-benchmarks/runners/datafusion-comet/spark-warehouse",
- "spark.executor.id": "driver",
- "spark.master": "spark://woody:7077",
- "spark.app.name": "DataFusion Comet Benchmark derived from TPC-H /
TPC-DS",
- "spark.driver.memory": "8G",
- "spark.app.submitTime": "1721400283873",
- "spark.executor.memory": "32G",
- "spark.app.id": "app-20240719144444-0001",
- "spark.rdd.compress": "True",
- "spark.executor.extraJavaOptions":
"-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED --ad [...]
- "spark.serializer.objectStreamReset": "100",
- "spark.executor.instances": "1",
- "spark.driver.port": "36055",
- "spark.cores.max": "8",
- "spark.submit.pyFiles": "",
- "spark.app.startTime": "1721400284146",
- "spark.submit.deployMode": "client",
- "spark.executor.cores": "8",
- "spark.driver.host": "woody.lan"
- },
- "1": [
- 102.50705313682556,
- 102.79903650283813,
- 102.37824273109436
- ],
- "2": [
- 11.939732789993286,
- 11.57072114944458,
- 11.101150751113892
- ],
- "3": [
- 22.83867835998535,
- 22.278138160705566,
- 21.799394607543945
- ],
- "4": [
- 17.29210591316223,
- 16.73092555999756,
- 16.37605381011963
- ],
- "5": [
- 44.469959020614624,
- 44.03915023803711,
- 43.95619344711304
- ],
- "6": [
- 3.5601518154144287,
- 3.5911924839019775,
- 3.436091423034668
- ],
- "7": [
- 20.750574588775635,
- 20.520857334136963,
- 19.94058084487915
- ],
- "8": [
- 32.82963514328003,
- 33.52391338348389,
- 33.31922125816345
- ],
- "9": [
- 67.38808369636536,
- 67.7869827747345,
- 66.43161416053772
- ],
- "10": [
- 19.35655426979065,
- 18.340266466140747,
- 18.23655128479004
- ],
- "11": [
- 12.413910865783691,
- 11.624657392501831,
- 11.516592264175415
- ],
- "12": [
- 13.084538698196411,
- 12.356904029846191,
- 12.170117616653442
- ],
- "13": [
- 21.03442144393921,
- 20.202510356903076,
- 20.323060274124146
- ],
- "14": [
- 5.823769569396973,
- 5.6380836963653564,
- 5.555809497833252
- ],
- "15": [
- 16.080876350402832,
- 15.773152112960815,
- 15.420385599136353
- ],
- "16": [
- 6.3961169719696045,
- 6.1880176067352295,
- 6.201446056365967
- ],
- "17": [
- 57.85423827171326,
- 58.72210907936096,
- 56.86491131782532
- ],
- "18": [
- 71.47632312774658,
- 71.85094976425171,
- 70.76138210296631
- ],
- "19": [
- 6.9238176345825195,
- 6.903416633605957,
- 6.856832504272461
- ],
- "20": [
- 9.688754320144653,
- 9.626489400863647,
- 9.615416049957275
- ],
- "21": [
- 59.68360757827759,
- 59.52283453941345,
- 59.335086822509766
- ],
- "22": [
- 8.247804880142212,
- 8.269869565963745,
- 8.185250282287598
- ]
-}
\ No newline at end of file
diff --git
a/docs/source/contributor-guide/benchmark-results/2024-08-23/comet-tpcds.json
b/docs/source/contributor-guide/benchmark-results/2024-08-23/comet-tpcds.json
new file mode 100644
index 00000000..4bd9b565
--- /dev/null
+++
b/docs/source/contributor-guide/benchmark-results/2024-08-23/comet-tpcds.json
@@ -0,0 +1,542 @@
+{
+ "engine": "datafusion-comet",
+ "benchmark": "tpcds",
+ "data_path": "/mnt/bigdata/tpcds/sf100/",
+ "query_path": "../../tpcds/queries-spark",
+ "spark_conf": {
+ "spark.eventLog.enabled": "true",
+ "spark.app.id": "app-20240823171622-0002",
+ "spark.comet.cast.allowIncompatible": "true",
+ "spark.app.startTime": "1724454982459",
+ "spark.comet.explainFallback.enabled": "false",
+ "spark.comet.exec.shuffle.enabled": "true",
+ "spark.app.name": "DataFusion Comet Benchmark derived from TPC-H /
TPC-DS",
+ "spark.repl.local.jars":
"file:///home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.2.0-SNAPSHOT.jar",
+ "spark.executor.extraClassPath":
"/home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.2.0-SNAPSHOT.jar",
+ "spark.serializer.objectStreamReset": "100",
+ "spark.submit.deployMode": "client",
+ "spark.app.submitTime": "1724454982161",
+ "spark.comet.exec.all.enabled": "true",
+ "spark.executor.cores": "8",
+ "spark.driver.host": "woody.lan",
+ "spark.jars":
"file:///home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.2.0-SNAPSHOT.jar",
+ "spark.driver.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false
-XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add- [...]
+ "spark.sql.warehouse.dir":
"file:/home/andy/git/apache/datafusion-benchmarks/runners/datafusion-comet/spark-warehouse",
+ "spark.shuffle.manager":
"org.apache.spark.sql.comet.execution.shuffle.CometShuffleManager",
+ "spark.driver.port": "46529",
+ "spark.comet.exec.enabled": "true",
+ "spark.driver.extraClassPath":
"/home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.2.0-SNAPSHOT.jar",
+ "spark.comet.exec.stddev.enabled": "false",
+ "spark.master": "spark://woody:7077",
+ "spark.executor.id": "driver",
+ "spark.comet.exec.shuffle.mode": "auto",
+ "spark.executor.memoryOverhead": "9829M",
+ "spark.sql.extensions": "org.apache.comet.CometSparkSessionExtensions",
+ "spark.driver.memory": "8G",
+ "spark.plugins": "org.apache.spark.CometPlugin",
+ "spark.app.initial.jar.urls":
"spark://woody.lan:46529/jars/comet-spark-spark3.4_2.12-0.2.0-SNAPSHOT.jar",
+ "spark.executor.memory": "32G",
+ "spark.rdd.compress": "True",
+ "spark.executor.extraJavaOptions":
"-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED --ad [...]
+ "spark.executor.instances": "1",
+ "spark.cores.max": "8",
+ "spark.comet.enabled": "true",
+ "spark.submit.pyFiles": "",
+ "spark.comet.explain.native.enabled": "false"
+ },
+ "1": [
+ 3.4804351329803467,
+ 1.4614591598510742,
+ 1.4101126194000244
+ ],
+ "2": [
+ 3.432562828063965,
+ 2.810065269470215,
+ 2.7326419353485107
+ ],
+ "3": [
+ 2.1836183071136475,
+ 1.7913987636566162,
+ 1.8086819648742676
+ ],
+ "4": [
+ 52.493305921554565,
+ 52.412503242492676,
+ 51.87881350517273
+ ],
+ "5": [
+ 9.289743661880493,
+ 8.963693618774414,
+ 9.03916311264038
+ ],
+ "6": [
+ 2.0919196605682373,
+ 1.9934494495391846,
+ 1.9832041263580322
+ ],
+ "7": [
+ 4.589007616043091,
+ 4.392294645309448,
+ 4.47741436958313
+ ],
+ "8": [
+ 2.31265926361084,
+ 2.1861729621887207,
+ 2.2611873149871826
+ ],
+ "9": [
+ 8.056198835372925,
+ 7.936391353607178,
+ 8.008009433746338
+ ],
+ "10": [
+ 4.500106334686279,
+ 4.280303239822388,
+ 4.313844680786133
+ ],
+ "11": [
+ 23.628692865371704,
+ 23.745131254196167,
+ 24.38014841079712
+ ],
+ "12": [
+ 1.63899564743042,
+ 1.4386279582977295,
+ 1.5680623054504395
+ ],
+ "13": [
+ 5.378530740737915,
+ 5.2778236865997314,
+ 5.385988473892212
+ ],
+ "14": [
+ 36.62500524520874,
+ 36.512104988098145,
+ 36.56885647773743
+ ],
+ "15": [
+ 5.583755016326904,
+ 5.694467306137085,
+ 5.621506452560425
+ ],
+ "16": [
+ 12.958160877227783,
+ 13.088937044143677,
+ 13.119137048721313
+ ],
+ "17": [
+ 5.15138578414917,
+ 5.040981292724609,
+ 5.0808024406433105
+ ],
+ "18": [
+ 4.192896604537964,
+ 4.163203239440918,
+ 4.438668489456177
+ ],
+ "19": [
+ 5.315442800521851,
+ 5.241089582443237,
+ 5.098968744277954
+ ],
+ "20": [
+ 2.307222366333008,
+ 2.243354082107544,
+ 2.387512683868408
+ ],
+ "21": [
+ 3.104037046432495,
+ 3.1079647541046143,
+ 3.1320748329162598
+ ],
+ "22": [
+ 13.710664987564087,
+ 14.836166143417358,
+ 14.21417236328125
+ ],
+ "23": [
+ 68.54298806190491,
+ 67.5203583240509,
+ 67.61838793754578
+ ],
+ "24": [
+ 20.765310764312744,
+ 20.987203121185303,
+ 20.702067136764526
+ ],
+ "25": [
+ 5.067382574081421,
+ 5.052172422409058,
+ 5.122135400772095
+ ],
+ "26": [
+ 1.9129142761230469,
+ 1.8888270854949951,
+ 1.9791429042816162
+ ],
+ "27": [
+ 4.371497392654419,
+ 4.361897945404053,
+ 4.447912216186523
+ ],
+ "28": [
+ 10.212426662445068,
+ 10.246354103088379,
+ 10.31855821609497
+ ],
+ "29": [
+ 8.775643587112427,
+ 8.799572229385376,
+ 8.827200651168823
+ ],
+ "30": [
+ 1.7231063842773438,
+ 1.7399978637695312,
+ 1.7029850482940674
+ ],
+ "31": [
+ 10.159486770629883,
+ 10.336423873901367,
+ 10.732777118682861
+ ],
+ "32": [
+ 1.5219626426696777,
+ 1.4834723472595215,
+ 1.5658631324768066
+ ],
+ "33": [
+ 4.893449544906616,
+ 4.772410869598389,
+ 4.956061840057373
+ ],
+ "34": [
+ 2.532895088195801,
+ 2.555771589279175,
+ 2.5366408824920654
+ ],
+ "35": [
+ 5.502384185791016,
+ 5.2859046459198,
+ 5.501248121261597
+ ],
+ "36": [
+ 4.357270240783691,
+ 4.3952717781066895,
+ 4.369616508483887
+ ],
+ "37": [
+ 3.8121776580810547,
+ 3.948188304901123,
+ 3.9501805305480957
+ ],
+ "38": [
+ 6.840842247009277,
+ 6.913778781890869,
+ 6.906845331192017
+ ],
+ "39": [
+ 14.942214012145996,
+ 15.395004034042358,
+ 15.144989967346191
+ ],
+ "40": [
+ 8.076166152954102,
+ 8.138175964355469,
+ 8.106957912445068
+ ],
+ "41": [
+ 0.14676141738891602,
+ 0.12220382690429688,
+ 0.12077784538269043
+ ],
+ "42": [
+ 1.6085350513458252,
+ 1.5992133617401123,
+ 1.6136035919189453
+ ],
+ "43": [
+ 2.3626835346221924,
+ 2.3224270343780518,
+ 2.4403605461120605
+ ],
+ "44": [
+ 2.2477006912231445,
+ 2.3073318004608154,
+ 2.2265210151672363
+ ],
+ "45": [
+ 3.1077065467834473,
+ 3.0093984603881836,
+ 2.9887752532958984
+ ],
+ "46": [
+ 5.443617343902588,
+ 5.442765235900879,
+ 5.604687690734863
+ ],
+ "47": [
+ 8.556017398834229,
+ 8.430255651473999,
+ 8.257848978042603
+ ],
+ "48": [
+ 3.990971088409424,
+ 3.9388883113861084,
+ 3.9347240924835205
+ ],
+ "49": [
+ 9.810695171356201,
+ 9.37749433517456,
+ 9.772304058074951
+ ],
+ "50": [
+ 10.503811597824097,
+ 10.663302421569824,
+ 10.683478593826294
+ ],
+ "51": [
+ 13.77928638458252,
+ 13.80559229850769,
+ 13.700306415557861
+ ],
+ "52": [
+ 1.7779605388641357,
+ 1.754716157913208,
+ 1.8163115978240967
+ ],
+ "53": [
+ 2.411738157272339,
+ 2.8731703758239746,
+ 2.802659034729004
+ ],
+ "54": [
+ 5.3457863330841064,
+ 5.280767440795898,
+ 5.2162322998046875
+ ],
+ "55": [
+ 1.783543586730957,
+ 1.8007187843322754,
+ 1.83036470413208
+ ],
+ "56": [
+ 4.111751079559326,
+ 4.099509000778198,
+ 4.464327573776245
+ ],
+ "57": [
+ 4.081630229949951,
+ 3.8727803230285645,
+ 4.0061705112457275
+ ],
+ "58": [
+ 6.248716354370117,
+ 6.208548307418823,
+ 6.551645755767822
+ ],
+ "59": [
+ 5.727895498275757,
+ 5.685580253601074,
+ 6.006369352340698
+ ],
+ "60": [
+ 4.266389846801758,
+ 4.491873502731323,
+ 4.121516704559326
+ ],
+ "61": [
+ 9.020668745040894,
+ 9.219490766525269,
+ 8.779846906661987
+ ],
+ "62": [
+ 1.3692295551300049,
+ 1.3498039245605469,
+ 1.3674330711364746
+ ],
+ "63": [
+ 2.3587427139282227,
+ 2.2217135429382324,
+ 2.2898004055023193
+ ],
+ "64": [
+ 21.440308332443237,
+ 21.0072283744812,
+ 21.357260942459106
+ ],
+ "65": [
+ 11.86961817741394,
+ 11.658129930496216,
+ 11.766114711761475
+ ],
+ "66": [
+ 4.796171426773071,
+ 4.4847612380981445,
+ 4.672569274902344
+ ],
+ "67": [
+ 52.75535464286804,
+ 52.72784924507141,
+ 53.80275273323059
+ ],
+ "68": [
+ 6.310378074645996,
+ 6.248573541641235,
+ 6.2958385944366455
+ ],
+ "69": [
+ 2.5675814151763916,
+ 2.321133852005005,
+ 2.6449339389801025
+ ],
+ "70": [
+ 5.342148780822754,
+ 5.342024564743042,
+ 5.284302473068237
+ ],
+ "71": [
+ 4.452622890472412,
+ 4.374104022979736,
+ 4.415938854217529
+ ],
+ "72": [
+ 16.749635457992554,
+ 16.44022798538208,
+ 16.641180515289307
+ ],
+ "73": [
+ 2.284430503845215,
+ 2.256479501724243,
+ 2.315661668777466
+ ],
+ "74": [
+ 19.86398434638977,
+ 19.806787252426147,
+ 19.61064577102661
+ ],
+ "75": [
+ 17.41057586669922,
+ 17.194573402404785,
+ 17.57104802131653
+ ],
+ "76": [
+ 3.9722466468811035,
+ 3.9412975311279297,
+ 3.9638965129852295
+ ],
+ "77": [
+ 4.492422819137573,
+ 4.447831392288208,
+ 4.492466688156128
+ ],
+ "78": [
+ 31.670465230941772,
+ 31.653732538223267,
+ 31.919859170913696
+ ],
+ "79": [
+ 4.6112871170043945,
+ 4.517165422439575,
+ 4.718899488449097
+ ],
+ "80": [
+ 22.618141174316406,
+ 22.49242329597473,
+ 23.069993495941162
+ ],
+ "81": [
+ 1.5572173595428467,
+ 1.5405056476593018,
+ 1.5365815162658691
+ ],
+ "82": [
+ 6.70697021484375,
+ 6.525533676147461,
+ 6.670731067657471
+ ],
+ "83": [
+ 1.0655431747436523,
+ 0.9910404682159424,
+ 1.0177781581878662
+ ],
+ "84": [
+ 0.8510754108428955,
+ 0.8796796798706055,
+ 0.8841667175292969
+ ],
+ "85": [
+ 2.113189697265625,
+ 2.231204032897949,
+ 2.229811668395996
+ ],
+ "86": [
+ 1.0433461666107178,
+ 1.0441484451293945,
+ 1.0725064277648926
+ ],
+ "87": [
+ 7.02810263633728,
+ 7.181212902069092,
+ 7.307353734970093
+ ],
+ "88": [
+ 10.711038827896118,
+ 10.715774297714233,
+ 10.83200716972351
+ ],
+ "89": [
+ 2.8747410774230957,
+ 2.9082696437835693,
+ 2.8789961338043213
+ ],
+ "90": [
+ 0.626767635345459,
+ 0.6060283184051514,
+ 0.6564383506774902
+ ],
+ "91": [
+ 0.5995543003082275,
+ 0.5522937774658203,
+ 0.579571008682251
+ ],
+ "92": [
+ 0.8934848308563232,
+ 0.9175834655761719,
+ 0.9098324775695801
+ ],
+ "93": [
+ 15.318015575408936,
+ 14.998896598815918,
+ 15.405989170074463
+ ],
+ "94": [
+ 6.598170757293701,
+ 6.639089345932007,
+ 6.919817209243774
+ ],
+ "95": [
+ 25.208842992782593,
+ 24.61381506919861,
+ 24.848196029663086
+ ],
+ "96": [
+ 1.3479843139648438,
+ 1.3368895053863525,
+ 1.3611071109771729
+ ],
+ "97": [
+ 9.144524574279785,
+ 9.002976179122925,
+ 9.103718996047974
+ ],
+ "98": [
+ 5.022308588027954,
+ 4.682036638259888,
+ 4.969731330871582
+ ],
+ "99": [
+ 2.635831356048584,
+ 2.633547306060791,
+ 2.634448528289795
+ ]
+}
\ No newline at end of file
diff --git
a/docs/source/contributor-guide/benchmark-results/2024-07-19/comet-tpch.json
b/docs/source/contributor-guide/benchmark-results/2024-08-23/comet-tpch.json
similarity index 50%
rename from
docs/source/contributor-guide/benchmark-results/2024-07-19/comet-tpch.json
rename to
docs/source/contributor-guide/benchmark-results/2024-08-23/comet-tpch.json
index 3f8ace8e..654e7908 100644
--- a/docs/source/contributor-guide/benchmark-results/2024-07-19/comet-tpch.json
+++ b/docs/source/contributor-guide/benchmark-results/2024-08-23/comet-tpch.json
@@ -5,149 +5,196 @@
"query_path": "../../tpch/queries",
"spark_conf": {
"spark.eventLog.enabled": "true",
- "spark.jars":
"file:///home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar",
"spark.comet.cast.allowIncompatible": "true",
- "spark.app.startTime": "1721402269156",
- "spark.app.id": "app-20240719151749-0002",
- "spark.executor.extraClassPath":
"/home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar",
+ "spark.comet.explainFallback.enabled": "false",
"spark.comet.exec.shuffle.enabled": "true",
- "spark.driver.port": "38495",
"spark.app.name": "DataFusion Comet Benchmark derived from TPC-H /
TPC-DS",
- "spark.app.submitTime": "1721402268875",
+ "spark.repl.local.jars":
"file:///home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.2.0-SNAPSHOT.jar",
+ "spark.executor.extraClassPath":
"/home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.2.0-SNAPSHOT.jar",
"spark.serializer.objectStreamReset": "100",
+ "spark.app.startTime": "1724437165544",
"spark.submit.deployMode": "client",
"spark.comet.exec.all.enabled": "true",
"spark.executor.cores": "8",
"spark.driver.host": "woody.lan",
+ "spark.jars":
"file:///home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.2.0-SNAPSHOT.jar",
"spark.driver.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false
-XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add- [...]
- "spark.comet.shuffle.enforceMode.enabled": "true",
"spark.sql.warehouse.dir":
"file:/home/andy/git/apache/datafusion-benchmarks/runners/datafusion-comet/spark-warehouse",
+ "spark.app.submitTime": "1724437165265",
"spark.shuffle.manager":
"org.apache.spark.sql.comet.execution.shuffle.CometShuffleManager",
"spark.comet.exec.enabled": "true",
- "spark.repl.local.jars":
"file:///home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar",
+ "spark.app.initial.jar.urls":
"spark://woody.lan:45347/jars/comet-spark-spark3.4_2.12-0.2.0-SNAPSHOT.jar",
+ "spark.driver.port": "45347",
+ "spark.app.id": "app-20240823121925-0000",
+ "spark.driver.extraClassPath":
"/home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.2.0-SNAPSHOT.jar",
"spark.executor.id": "driver",
- "spark.app.initial.jar.urls":
"spark://woody.lan:38495/jars/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar",
"spark.master": "spark://woody:7077",
"spark.comet.exec.shuffle.mode": "auto",
+ "spark.executor.memoryOverhead": "9829M",
"spark.sql.extensions": "org.apache.comet.CometSparkSessionExtensions",
"spark.driver.memory": "8G",
- "spark.driver.extraClassPath":
"/home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar",
+ "spark.plugins": "org.apache.spark.CometPlugin",
"spark.executor.memory": "32G",
"spark.rdd.compress": "True",
"spark.executor.extraJavaOptions":
"-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED --ad [...]
"spark.executor.instances": "1",
"spark.cores.max": "8",
"spark.comet.enabled": "true",
- "spark.submit.pyFiles": ""
+ "spark.submit.pyFiles": "",
+ "spark.comet.explain.native.enabled": "false"
},
"1": [
- 28.722949028015137,
- 27.5392906665802,
- 27.496358633041382
+ 13.473755121231079,
+ 12.139634609222412,
+ 12.098231315612793,
+ 12.043025970458984,
+ 12.014038562774658
],
"2": [
- 9.163376569747925,
- 8.315577268600464,
- 8.380951404571533
+ 8.926262140274048,
+ 8.281867265701294,
+ 8.06024169921875,
+ 8.191070318222046,
+ 8.110166072845459
],
"3": [
- 17.556873083114624,
- 17.497890949249268,
- 17.48395323753357
+ 17.408313512802124,
+ 17.218729972839355,
+ 16.767908334732056,
+ 16.994791746139526,
+ 17.0086190700531
],
"4": [
- 9.459511756896973,
- 9.35229229927063,
- 9.526184320449829
+ 9.6057288646698,
+ 9.171663284301758,
+ 10.08114218711853,
+ 9.377300024032593,
+ 9.231833696365356
],
"5": [
- 32.742212772369385,
- 32.53394556045532,
- 32.72231674194336
+ 32.306901693344116,
+ 32.10028052330017,
+ 31.65935254096985,
+ 31.876633405685425,
+ 31.90474033355713
],
"6": [
- 3.11678147315979,
- 2.9885473251342773,
- 3.089282274246216
+ 2.645071268081665,
+ 2.633681535720825,
+ 2.593480110168457,
+ 2.582031726837158,
+ 2.597594976425171
],
"7": [
- 19.92447853088379,
- 19.889236450195312,
- 20.12239646911621
+ 19.257387161254883,
+ 19.380508184432983,
+ 19.28051519393921,
+ 19.47974729537964,
+ 19.245010375976562
],
"8": [
- 36.376123666763306,
- 36.56628465652466,
- 36.08057117462158
+ 35.681517601013184,
+ 35.24236822128296,
+ 35.22637367248535,
+ 35.21595644950867,
+ 35.47751188278198
],
"9": [
- 55.983471155166626,
- 55.55835008621216,
- 55.05353879928589
+ 54.14139914512634,
+ 53.98002028465271,
+ 53.76929020881653,
+ 54.15053987503052,
+ 54.49954032897949
],
"10": [
- 18.320690870285034,
- 17.953410148620605,
- 17.839956283569336
+ 16.89905309677124,
+ 17.182217359542847,
+ 17.05785632133484,
+ 16.990517616271973,
+ 17.05412769317627
],
"11": [
- 7.945342302322388,
- 7.947471618652344,
- 7.870803356170654
+ 7.636315822601318,
+ 7.530288457870483,
+ 7.575816631317139,
+ 7.681467771530151,
+ 7.63321328163147
],
"12": [
- 7.797280550003052,
- 7.611949920654297,
- 7.625390291213989
+ 7.564772129058838,
+ 7.477157115936279,
+ 7.49872088432312,
+ 7.496556520462036,
+ 7.528937101364136
],
"13": [
- 11.711121082305908,
- 11.817307949066162,
- 11.80425763130188
+ 10.08704423904419,
+ 10.179163932800293,
+ 10.286212921142578,
+ 10.202733516693115,
+ 10.274383544921875
],
"14": [
- 6.106103897094727,
- 5.755920171737671,
- 5.686336040496826
+ 5.392931222915649,
+ 5.3704307079315186,
+ 5.491287469863892,
+ 5.357631206512451,
+ 5.423444986343384
],
"15": [
- 11.505656242370605,
- 11.023053884506226,
- 10.784588813781738
+ 9.469481706619263,
+ 9.162756204605103,
+ 9.164365768432617,
+ 9.220532655715942,
+ 9.105976819992065
],
"16": [
- 8.015074729919434,
- 6.408633232116699,
- 6.315148591995239
+ 7.323407173156738,
+ 6.630264520645142,
+ 6.378251314163208,
+ 6.525437831878662,
+ 6.119240760803223
],
"17": [
- 34.54281425476074,
- 35.28704261779785,
- 34.809094190597534
+ 34.41347622871399,
+ 34.88858675956726,
+ 34.24549579620361,
+ 34.74440789222717,
+ 34.32015109062195
],
"18": [
- 31.605079889297485,
- 31.74153995513916,
- 31.957621574401855
+ 31.735107421875,
+ 31.878573179244995,
+ 31.6863751411438,
+ 31.599742889404297,
+ 31.838909149169922
],
"19": [
- 6.488569974899292,
- 6.363597869873047,
- 6.369234323501587
+ 6.151841402053833,
+ 6.589536428451538,
+ 6.160719633102417,
+ 6.408082723617554,
+ 6.118327379226685
],
"20": [
- 8.480429410934448,
- 8.437273502349854,
- 8.329411745071411
+ 8.395015478134155,
+ 8.192860126495361,
+ 8.520573139190674,
+ 8.31843376159668,
+ 8.228757858276367
],
"21": [
- 41.91543126106262,
- 41.532346963882446,
- 42.07075548171997
+ 41.169756174087524,
+ 40.13720726966858,
+ 40.28465914726257,
+ 39.96334886550903,
+ 40.34482765197754
],
"22": [
- 4.895018100738525,
- 4.865969657897949,
- 4.903195858001709
+ 4.879197120666504,
+ 4.701574802398682,
+ 4.655008316040039,
+ 4.731145143508911,
+ 4.729304075241089
]
}
\ No newline at end of file
diff --git
a/docs/source/contributor-guide/benchmark-results/2024-08-23/datafusion-python-tpch.json
b/docs/source/contributor-guide/benchmark-results/2024-08-23/datafusion-python-tpch.json
new file mode 100644
index 00000000..8f6ca23a
--- /dev/null
+++
b/docs/source/contributor-guide/benchmark-results/2024-08-23/datafusion-python-tpch.json
@@ -0,0 +1,73 @@
+{
+ "engine": "datafusion-python",
+ "datafusion-version": "40.1.0",
+ "benchmark": "tpch",
+ "data_path": "/mnt/bigdata/tpch/sf100",
+ "query_path": "../../tpch/queries/",
+ "1": [
+ 5.120208740234375
+ ],
+ "2": [
+ 3.7675418853759766
+ ],
+ "3": [
+ 5.07387113571167
+ ],
+ "4": [
+ 1.9587907791137695
+ ],
+ "5": [
+ 8.816755771636963
+ ],
+ "6": [
+ 1.0937256813049316
+ ],
+ "7": [
+ 17.575931549072266
+ ],
+ "8": [
+ 8.337157964706421
+ ],
+ "9": [
+ 17.257150411605835
+ ],
+ "10": [
+ 7.945651292800903
+ ],
+ "11": [
+ 2.7080790996551514
+ ],
+ "12": [
+ 1.7468397617340088
+ ],
+ "13": [
+ 5.695569276809692
+ ],
+ "14": [
+ 2.0220673084259033
+ ],
+ "15": [
+ 4.112257719039917
+ ],
+ "16": [
+ 1.9162819385528564
+ ],
+ "17": [
+ 21.812944650650024
+ ],
+ "18": [
+ 23.510076999664307
+ ],
+ "19": [
+ 2.842766761779785
+ ],
+ "20": [
+ 7.717615842819214
+ ],
+ "21": [
+ 19.96519947052002
+ ],
+ "22": [
+ 1.0273211002349854
+ ]
+}
\ No newline at end of file
diff --git
a/docs/source/contributor-guide/benchmark-results/2024-08-23/spark-tpcds.json
b/docs/source/contributor-guide/benchmark-results/2024-08-23/spark-tpcds.json
new file mode 100644
index 00000000..79cc0db0
--- /dev/null
+++
b/docs/source/contributor-guide/benchmark-results/2024-08-23/spark-tpcds.json
@@ -0,0 +1,524 @@
+{
+ "engine": "datafusion-comet",
+ "benchmark": "tpcds",
+ "data_path": "/mnt/bigdata/tpcds/sf100/",
+ "query_path": "../../tpcds/queries-spark",
+ "spark_conf": {
+ "spark.app.startTime": "1724457604323",
+ "spark.eventLog.enabled": "true",
+ "spark.driver.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false
-XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add- [...]
+ "spark.sql.warehouse.dir":
"file:/home/andy/git/apache/datafusion-benchmarks/runners/datafusion-comet/spark-warehouse",
+ "spark.executor.id": "driver",
+ "spark.master": "spark://woody:7077",
+ "spark.app.name": "DataFusion Comet Benchmark derived from TPC-H /
TPC-DS",
+ "spark.driver.memory": "8G",
+ "spark.app.id": "app-20240823180004-0003",
+ "spark.driver.port": "33001",
+ "spark.executor.memory": "32G",
+ "spark.app.submitTime": "1724457603983",
+ "spark.rdd.compress": "True",
+ "spark.executor.extraJavaOptions":
"-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED --ad [...]
+ "spark.serializer.objectStreamReset": "100",
+ "spark.executor.instances": "1",
+ "spark.cores.max": "8",
+ "spark.submit.pyFiles": "",
+ "spark.submit.deployMode": "client",
+ "spark.executor.cores": "8",
+ "spark.driver.host": "woody.lan"
+ },
+ "1": [
+ 4.6738364696502686,
+ 2.607638120651245,
+ 2.7244009971618652
+ ],
+ "2": [
+ 3.6639134883880615,
+ 2.8716118335723877,
+ 2.87033748626709
+ ],
+ "3": [
+ 2.0852105617523193,
+ 1.540421485900879,
+ 1.5487408638000488
+ ],
+ "4": [
+ 60.23595452308655,
+ 59.07449269294739,
+ 58.9473180770874
+ ],
+ "5": [
+ 12.801316022872925,
+ 12.414368867874146,
+ 12.579012155532837
+ ],
+ "6": [
+ 2.4855659008026123,
+ 2.2194879055023193,
+ 2.265310525894165
+ ],
+ "7": [
+ 3.982459306716919,
+ 3.3318684101104736,
+ 3.3842885494232178
+ ],
+ "8": [
+ 2.3403024673461914,
+ 2.232264757156372,
+ 2.216975450515747
+ ],
+ "9": [
+ 6.660048484802246,
+ 6.379942178726196,
+ 6.34551215171814
+ ],
+ "10": [
+ 3.106868267059326,
+ 3.0345351696014404,
+ 3.1423280239105225
+ ],
+ "11": [
+ 21.66971755027771,
+ 20.05382537841797,
+ 20.570585012435913
+ ],
+ "12": [
+ 1.2497382164001465,
+ 1.183215856552124,
+ 1.078256368637085
+ ],
+ "13": [
+ 4.476048707962036,
+ 4.436634302139282,
+ 4.42456841468811
+ ],
+ "14": [
+ 50.8986918926239,
+ 50.029125452041626,
+ 50.8438560962677
+ ],
+ "15": [
+ 3.7667343616485596,
+ 3.6848278045654297,
+ 3.561140775680542
+ ],
+ "16": [
+ 16.13592028617859,
+ 15.47079586982727,
+ 15.34955644607544
+ ],
+ "17": [
+ 6.312549829483032,
+ 5.960913419723511,
+ 6.125810384750366
+ ],
+ "18": [
+ 4.119095802307129,
+ 4.077998876571655,
+ 3.9976937770843506
+ ],
+ "19": [
+ 2.9150326251983643,
+ 2.81693434715271,
+ 2.9417600631713867
+ ],
+ "20": [
+ 1.1758604049682617,
+ 1.1849756240844727,
+ 1.1696765422821045
+ ],
+ "21": [
+ 2.7243363857269287,
+ 2.539780616760254,
+ 2.576927423477173
+ ],
+ "22": [
+ 25.446667909622192,
+ 24.981525421142578,
+ 24.070119380950928
+ ],
+ "23": [
+ 123.92335391044617,
+ 122.13764810562134,
+ 122.14079523086548
+ ],
+ "24": [
+ 19.473909616470337,
+ 19.149569272994995,
+ 19.331961393356323
+ ],
+ "25": [
+ 5.54092001914978,
+ 5.475880861282349,
+ 5.54895544052124
+ ],
+ "26": [
+ 2.180617570877075,
+ 1.9853105545043945,
+ 1.9726293087005615
+ ],
+ "27": [
+ 3.205014705657959,
+ 3.090461492538452,
+ 3.240065097808838
+ ],
+ "28": [
+ 10.75086522102356,
+ 10.688301801681519,
+ 10.835774660110474
+ ],
+ "29": [
+ 6.999173879623413,
+ 7.103809356689453,
+ 6.859410047531128
+ ],
+ "30": [
+ 2.5035476684570312,
+ 2.3793742656707764,
+ 2.3868134021759033
+ ],
+ "31": [
+ 6.837624788284302,
+ 6.6072728633880615,
+ 6.968561887741089
+ ],
+ "32": [
+ 2.0627753734588623,
+ 1.9358611106872559,
+ 1.9477887153625488
+ ],
+ "33": [
+ 3.5630598068237305,
+ 3.448078155517578,
+ 3.6234869956970215
+ ],
+ "34": [
+ 2.3482396602630615,
+ 2.2195587158203125,
+ 2.269207715988159
+ ],
+ "35": [
+ 4.422351360321045,
+ 4.277358293533325,
+ 4.430582284927368
+ ],
+ "36": [
+ 2.8739206790924072,
+ 2.753821611404419,
+ 2.8452446460723877
+ ],
+ "37": [
+ 6.399511337280273,
+ 6.321113348007202,
+ 6.354349374771118
+ ],
+ "38": [
+ 8.711895942687988,
+ 8.764574527740479,
+ 8.63590383529663
+ ],
+ "39": [
+ 9.173827171325684,
+ 8.996227264404297,
+ 8.902582883834839
+ ],
+ "40": [
+ 10.384091854095459,
+ 11.161047458648682,
+ 10.922972440719604
+ ],
+ "41": [
+ 0.2440505027770996,
+ 0.1914224624633789,
+ 0.1889176368713379
+ ],
+ "42": [
+ 1.3915278911590576,
+ 1.4407708644866943,
+ 1.4964001178741455
+ ],
+ "43": [
+ 1.6658005714416504,
+ 1.7205276489257812,
+ 1.6517057418823242
+ ],
+ "44": [
+ 0.9901125431060791,
+ 0.9779460430145264,
+ 1.085522174835205
+ ],
+ "45": [
+ 1.8160185813903809,
+ 1.915973424911499,
+ 1.8881828784942627
+ ],
+ "46": [
+ 3.5486392974853516,
+ 3.480900526046753,
+ 3.4525904655456543
+ ],
+ "47": [
+ 5.989833116531372,
+ 6.034717559814453,
+ 6.222779989242554
+ ],
+ "48": [
+ 7.926146030426025,
+ 7.938207387924194,
+ 7.998443365097046
+ ],
+ "49": [
+ 8.746826171875,
+ 8.735657453536987,
+ 8.748558282852173
+ ],
+ "50": [
+ 14.666894912719727,
+ 14.752063035964966,
+ 15.104907512664795
+ ],
+ "51": [
+ 19.82126212120056,
+ 20.01531410217285,
+ 20.5512535572052
+ ],
+ "52": [
+ 1.6504428386688232,
+ 1.7620530128479004,
+ 1.7128207683563232
+ ],
+ "53": [
+ 2.2617030143737793,
+ 2.327077627182007,
+ 2.198402166366577
+ ],
+ "54": [
+ 3.6639420986175537,
+ 3.7397358417510986,
+ 4.558957576751709
+ ],
+ "55": [
+ 1.856471300125122,
+ 1.950413465499878,
+ 1.8394546508789062
+ ],
+ "56": [
+ 3.032571792602539,
+ 3.463622570037842,
+ 3.1069564819335938
+ ],
+ "57": [
+ 3.205338716506958,
+ 3.4223129749298096,
+ 3.3143198490142822
+ ],
+ "58": [
+ 3.591290235519409,
+ 3.567382574081421,
+ 3.56026291847229
+ ],
+ "59": [
+ 4.632724285125732,
+ 4.6231303215026855,
+ 4.694545269012451
+ ],
+ "60": [
+ 3.170637845993042,
+ 3.3165674209594727,
+ 3.106445550918579
+ ],
+ "61": [
+ 4.422461271286011,
+ 4.391150951385498,
+ 4.264183044433594
+ ],
+ "62": [
+ 1.1783490180969238,
+ 1.1359832286834717,
+ 1.1529881954193115
+ ],
+ "63": [
+ 2.1628408432006836,
+ 2.137432336807251,
+ 2.144702672958374
+ ],
+ "64": [
+ 29.18651556968689,
+ 29.69029211997986,
+ 29.869638919830322
+ ],
+ "65": [
+ 15.2103590965271,
+ 15.194143056869507,
+ 15.357446432113647
+ ],
+ "66": [
+ 3.0589449405670166,
+ 3.1554059982299805,
+ 3.1348016262054443
+ ],
+ "67": [
+ 94.90210390090942,
+ 93.52622151374817,
+ 95.97599363327026
+ ],
+ "68": [
+ 3.5969979763031006,
+ 3.596705675125122,
+ 3.586714506149292
+ ],
+ "69": [
+ 2.747361183166504,
+ 2.652384042739868,
+ 2.978346347808838
+ ],
+ "70": [
+ 3.9564125537872314,
+ 3.9680418968200684,
+ 4.060027599334717
+ ],
+ "71": [
+ 3.5138092041015625,
+ 3.73106050491333,
+ 3.830477237701416
+ ],
+ "72": [
+ 24.163873434066772,
+ 23.853400468826294,
+ 24.996983289718628
+ ],
+ "73": [
+ 2.033754348754883,
+ 2.074536085128784,
+ 2.349130868911743
+ ],
+ "74": [
+ 21.157459497451782,
+ 20.892865419387817,
+ 25.776637315750122
+ ],
+ "75": [
+ 15.952880859375,
+ 16.785033226013184,
+ 16.29853892326355
+ ],
+ "76": [
+ 3.091552257537842,
+ 3.067769765853882,
+ 3.0107522010803223
+ ],
+ "77": [
+ 3.8175597190856934,
+ 4.094277381896973,
+ 3.79762864112854
+ ],
+ "78": [
+ 43.96424341201782,
+ 46.35523343086243,
+ 43.80884027481079
+ ],
+ "79": [
+ 3.134540557861328,
+ 3.161709785461426,
+ 3.1049673557281494
+ ],
+ "80": [
+ 38.821285009384155,
+ 38.39027643203735,
+ 38.47581648826599
+ ],
+ "81": [
+ 2.6212985515594482,
+ 2.4521923065185547,
+ 2.3759191036224365
+ ],
+ "82": [
+ 11.85749864578247,
+ 11.444931507110596,
+ 11.403602123260498
+ ],
+ "83": [
+ 1.827268362045288,
+ 1.5215437412261963,
+ 1.6748161315917969
+ ],
+ "84": [
+ 1.693314552307129,
+ 1.5987653732299805,
+ 1.6924307346343994
+ ],
+ "85": [
+ 4.967114210128784,
+ 4.8595194816589355,
+ 4.837131023406982
+ ],
+ "86": [
+ 1.0658023357391357,
+ 1.1914262771606445,
+ 1.0374302864074707
+ ],
+ "87": [
+ 9.705680131912231,
+ 9.410136222839355,
+ 9.184683084487915
+ ],
+ "88": [
+ 8.238450288772583,
+ 8.277052164077759,
+ 8.312672138214111
+ ],
+ "89": [
+ 2.576153039932251,
+ 2.55790376663208,
+ 2.5451643466949463
+ ],
+ "90": [
+ 0.8365621566772461,
+ 0.657545804977417,
+ 0.6509900093078613
+ ],
+ "91": [
+ 0.9458847045898438,
+ 0.8070957660675049,
+ 0.8432478904724121
+ ],
+ "92": [
+ 1.6801669597625732,
+ 1.6084256172180176,
+ 1.3266661167144775
+ ],
+ "93": [
+ 34.63347291946411,
+ 34.564186811447144,
+ 34.57726263999939
+ ],
+ "94": [
+ 8.670114517211914,
+ 8.900465726852417,
+ 8.495311260223389
+ ],
+ "95": [
+ 26.82801651954651,
+ 26.351001501083374,
+ 26.429945945739746
+ ],
+ "96": [
+ 1.096921682357788,
+ 1.1099791526794434,
+ 1.1124985218048096
+ ],
+ "97": [
+ 13.002750635147095,
+ 12.873058795928955,
+ 12.983646869659424
+ ],
+ "98": [
+ 2.695155620574951,
+ 2.5605506896972656,
+ 2.4147093296051025
+ ],
+ "99": [
+ 1.8642199039459229,
+ 1.8573486804962158,
+ 1.8937792778015137
+ ]
+}
\ No newline at end of file
diff --git
a/docs/source/contributor-guide/benchmark-results/2024-08-23/spark-tpch.json
b/docs/source/contributor-guide/benchmark-results/2024-08-23/spark-tpch.json
new file mode 100644
index 00000000..cb5e6a2a
--- /dev/null
+++ b/docs/source/contributor-guide/benchmark-results/2024-08-23/spark-tpch.json
@@ -0,0 +1,183 @@
+{
+ "engine": "datafusion-comet",
+ "benchmark": "tpch",
+ "data_path": "/mnt/bigdata/tpch/sf100/",
+ "query_path": "../../tpch/queries",
+ "spark_conf": {
+ "spark.eventLog.enabled": "true",
+ "spark.driver.port": "40841",
+ "spark.driver.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false
-XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add- [...]
+ "spark.sql.warehouse.dir":
"file:/home/andy/git/apache/datafusion-benchmarks/runners/datafusion-comet/spark-warehouse",
+ "spark.executor.id": "driver",
+ "spark.master": "spark://woody:7077",
+ "spark.app.name": "DataFusion Comet Benchmark derived from TPC-H /
TPC-DS",
+ "spark.driver.memory": "8G",
+ "spark.app.id": "app-20240823130320-0001",
+ "spark.app.submitTime": "1724439800073",
+ "spark.executor.memory": "32G",
+ "spark.rdd.compress": "True",
+ "spark.executor.extraJavaOptions":
"-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED --ad [...]
+ "spark.serializer.objectStreamReset": "100",
+ "spark.executor.instances": "1",
+ "spark.cores.max": "8",
+ "spark.submit.pyFiles": "",
+ "spark.submit.deployMode": "client",
+ "spark.app.startTime": "1724439800399",
+ "spark.executor.cores": "8",
+ "spark.driver.host": "woody.lan"
+ },
+ "1": [
+ 92.00698232650757,
+ 94.19624853134155,
+ 93.22824811935425,
+ 94.49989938735962,
+ 93.83703660964966
+ ],
+ "2": [
+ 12.417726755142212,
+ 11.305341482162476,
+ 11.216602325439453,
+ 11.46175217628479,
+ 11.280144929885864
+ ],
+ "3": [
+ 22.73153781890869,
+ 23.528273105621338,
+ 21.932458877563477,
+ 21.935057401657104,
+ 22.22305679321289
+ ],
+ "4": [
+ 17.67660164833069,
+ 17.97446846961975,
+ 16.803664922714233,
+ 17.32249927520752,
+ 19.524290561676025
+ ],
+ "5": [
+ 46.916603326797485,
+ 45.48495650291443,
+ 45.84679985046387,
+ 46.147223472595215,
+ 45.76638174057007
+ ],
+ "6": [
+ 3.5493555068969727,
+ 3.5667600631713867,
+ 3.5507564544677734,
+ 3.528782844543457,
+ 3.587373733520508
+ ],
+ "7": [
+ 20.92898988723755,
+ 20.348510026931763,
+ 20.12236475944519,
+ 20.482661485671997,
+ 20.14247417449951
+ ],
+ "8": [
+ 33.45671057701111,
+ 33.93811392784119,
+ 33.35914874076843,
+ 33.496803998947144,
+ 34.67257070541382
+ ],
+ "9": [
+ 67.21747255325317,
+ 70.0214433670044,
+ 66.97786140441895,
+ 67.39604878425598,
+ 66.12540650367737
+ ],
+ "10": [
+ 18.014174222946167,
+ 19.218846559524536,
+ 17.524659395217896,
+ 17.707570552825928,
+ 17.466897010803223
+ ],
+ "11": [
+ 12.511230230331421,
+ 11.627897500991821,
+ 11.49244999885559,
+ 11.698217153549194,
+ 11.596678256988525
+ ],
+ "12": [
+ 12.31725001335144,
+ 12.334733247756958,
+ 12.108176708221436,
+ 12.150733947753906,
+ 12.26001524925232
+ ],
+ "13": [
+ 20.075138568878174,
+ 20.04672622680664,
+ 20.394930362701416,
+ 20.400474548339844,
+ 19.329357624053955
+ ],
+ "14": [
+ 6.3762335777282715,
+ 6.445823669433594,
+ 6.3217432498931885,
+ 6.096963405609131,
+ 5.50446629524231
+ ],
+ "15": [
+ 14.918981790542603,
+ 15.760163307189941,
+ 15.008216857910156,
+ 15.470173120498657,
+ 14.605076789855957
+ ],
+ "16": [
+ 6.275825500488281,
+ 6.6401286125183105,
+ 6.144413471221924,
+ 6.425477504730225,
+ 6.0655035972595215
+ ],
+ "17": [
+ 59.23019003868103,
+ 58.981871604919434,
+ 58.61376166343689,
+ 60.298399686813354,
+ 57.806233406066895
+ ],
+ "18": [
+ 68.66396379470825,
+ 70.06169080734253,
+ 69.0965895652771,
+ 68.8920648097992,
+ 67.62768220901489
+ ],
+ "19": [
+ 7.083737373352051,
+ 6.426103591918945,
+ 6.671605348587036,
+ 7.529814720153809,
+ 6.513109445571899
+ ],
+ "20": [
+ 9.672510862350464,
+ 9.454506397247314,
+ 9.657438516616821,
+ 9.445323467254639,
+ 9.905058145523071
+ ],
+ "21": [
+ 59.212361574172974,
+ 58.74560236930847,
+ 59.64454126358032,
+ 59.086339473724365,
+ 58.649189472198486
+ ],
+ "22": [
+ 9.13750410079956,
+ 8.349914312362671,
+ 8.402221441268921,
+ 8.42584753036499,
+ 8.384947538375854
+ ]
+}
\ No newline at end of file
diff --git a/docs/source/contributor-guide/benchmark-results/tpc-ds.md
b/docs/source/contributor-guide/benchmark-results/tpc-ds.md
new file mode 100644
index 00000000..0aba020e
--- /dev/null
+++ b/docs/source/contributor-guide/benchmark-results/tpc-ds.md
@@ -0,0 +1,43 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Apache DataFusion Comet: Benchmarks Derived From TPC-DS
+
+The following benchmarks were performed on a Linux workstation with PCIe 5,
AMD 7950X CPU (16 cores), 128 GB RAM, and
+data stored locally on NVMe storage. Performance characteristics will vary in
different environments and we encourage
+you to run these benchmarks in your own environments.
+
+Comet can not yet run all TPC-DS queries natively. The tracking issue is
[#858](https://github.com/apache/datafusion-comet/issues/858).
+
+Comet currently provides a 21% speedup for TPC-DS @ SF=100GB.
+
+
+
+Here is a breakdown showing relative performance of Spark and Comet for each
query.
+
+
+
+The following chart shows how much Comet currently accelerates each query from
the benchmark.
+
+
+
+The raw results of these benchmarks in JSON format is available here:
+
+- [Spark](./2024-08-23/spark-tpcds.json)
+- [Comet](./2024-08-23/comet-tpcds.json)
diff --git a/docs/source/contributor-guide/benchmark-results/tpc-h.md
b/docs/source/contributor-guide/benchmark-results/tpc-h.md
new file mode 100644
index 00000000..3c78ad77
--- /dev/null
+++ b/docs/source/contributor-guide/benchmark-results/tpc-h.md
@@ -0,0 +1,44 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Apache DataFusion Comet: Benchmarks Derived From TPC-H
+
+The following benchmarks were performed on a Linux workstation with PCIe 5,
AMD 7950X CPU (16 cores), 128 GB RAM, and
+data stored locally on NVMe storage. Performance characteristics will vary in
different environments and we encourage
+you to run these benchmarks in your own environments.
+
+Comet can not yet run all TPC-H queries natively. The tracking issue is
[#391](https://github.com/apache/datafusion-comet/issues/391).
+
+Comet currently provides a 62% speedup for TPC-H @ SF=100GB.
+
+
+
+Here is a breakdown showing relative performance of Spark, Comet, and
DataFusion for each query.
+
+
+
+The following chart shows how much Comet currently accelerates each query from
the benchmark.
+
+
+
+The raw results of these benchmarks in JSON format is available here:
+
+- [Spark](./2024-08-23/spark-tpch.json)
+- [Comet](./2024-08-23/comet-tpch.json)
+- [DataFusion](./2024-08-23/datafusion-python-tpch.json)
\ No newline at end of file
diff --git a/docs/source/contributor-guide/benchmarking.md
b/docs/source/contributor-guide/benchmarking.md
index 3e98be14..e2e8a794 100644
--- a/docs/source/contributor-guide/benchmarking.md
+++ b/docs/source/contributor-guide/benchmarking.md
@@ -61,8 +61,6 @@ $SPARK_HOME/bin/spark-submit \
--conf spark.driver.extraClassPath=$COMET_JAR \
--conf spark.executor.extraClassPath=$COMET_JAR \
--conf spark.plugins=org.apache.spark.CometPlugin \
- --conf spark.comet.enabled=true \
- --conf spark.comet.exec.enabled=true \
--conf spark.comet.cast.allowIncompatible=true \
--conf spark.comet.exec.shuffle.enabled=true \
--conf spark.comet.exec.shuffle.mode=auto \
@@ -74,31 +72,10 @@ $SPARK_HOME/bin/spark-submit \
--iterations 3
```
-## Current Performance
+## Current Benchmark Results
-Comet is not yet achieving full DataFusion speeds in all cases, but with
future work we aim to provide a 2x-4x speedup
-for many use cases.
+- [Benchmarks derived from TPC-H](benchmark-results/tpc-h)
+- [Benchmarks derived from TPC-DS](benchmark-results/tpc-ds)
-The following benchmarks were performed on a Linux workstation with PCIe 5,
AMD 7950X CPU (16 cores), 128 GB RAM, and
-data stored locally on NVMe storage. Performance characteristics will vary in
different environments and we encourage
-you to run these benchmarks in your own environments.
-### TPC-H
-Comet currently provides a 54% speedup for TPC-H @ SF=100GB.
-
-
-
-Here is a breakdown showing relative performance of Spark, Comet, and
DataFusion for each query.
-
-
-
-The following chart shows how much Comet currently accelerates each query from
the benchmark.
-
-
-
-The raw results of these benchmarks in JSON format is available here:
-
-- [Spark](./benchmark-results/2024-07-19/spark-tpch.json)
-- [Comet](./benchmark-results/2024-07-19/comet-tpch.json)
-- [DataFusion](./benchmark-results/2024-07-19/datafusion-tpch.json)
diff --git a/docs/source/user-guide/configs.md
b/docs/source/user-guide/configs.md
index 5c29b709..d23e4c71 100644
--- a/docs/source/user-guide/configs.md
+++ b/docs/source/user-guide/configs.md
@@ -40,7 +40,7 @@ Comet provides the following configuration settings.
| spark.comet.exec.broadcastHashJoin.enabled | Whether to enable
broadcastHashJoin by default. | true |
| spark.comet.exec.coalesce.enabled | Whether to enable coalesce by default. |
true |
| spark.comet.exec.collectLimit.enabled | Whether to enable collectLimit by
default. | true |
-| spark.comet.exec.enabled | Whether to enable Comet native vectorized
execution for Spark. This controls whether Spark should convert operators into
their Comet counterparts and execute them in native space. Note: each operator
is associated with a separate config in the format of
'spark.comet.exec.<operator_name>.enabled' at the moment, and both the config
and this need to be turned on, in order for the operator to be executed in
native. By default, this config is false. | false |
+| spark.comet.exec.enabled | Whether to enable Comet native vectorized
execution for Spark. This controls whether Spark should convert operators into
their Comet counterparts and execute them in native space. Note: each operator
is associated with a separate config in the format of
'spark.comet.exec.<operator_name>.enabled' at the moment, and both the config
and this need to be turned on, in order for the operator to be executed in
native. By default, this config is true. | true |
| spark.comet.exec.expand.enabled | Whether to enable expand by default. |
true |
| spark.comet.exec.filter.enabled | Whether to enable filter by default. |
true |
| spark.comet.exec.globalLimit.enabled | Whether to enable globalLimit by
default. | true |
diff --git a/kube/Dockerfile b/kube/Dockerfile
index a46c328a..e8ba72dc 100644
--- a/kube/Dockerfile
+++ b/kube/Dockerfile
@@ -64,5 +64,5 @@ ENV SPARK_VERSION=3.4
ENV SCALA_VERSION=2.12
USER root
-# ntoe the use of a wildcard in the file name so that this works with both
snapshot and final release versions
+# note the use of a wildcard in the file name so that this works with both
snapshot and final release versions
COPY --from=builder
/comet/spark/target/comet-spark-spark${SPARK_VERSION}_$SCALA_VERSION-0.2.0*.jar
$SPARK_HOME/jars
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]