You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datafusion.apache.org by gi...@apache.org on 2025/07/30 16:56:18 UTC

(datafusion-comet) branch asf-site updated: Publish built docs triggered by 1c111d58f12cd788d57d1552fca3daa0a8c76b0f

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/datafusion-comet.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new df2bfd215 Publish built docs triggered by 1c111d58f12cd788d57d1552fca3daa0a8c76b0f
df2bfd215 is described below

commit df2bfd215e634a224e2b9b7145bd991e4149e5f2
Author: github-actions[bot] <gi...@users.noreply.github.com>
AuthorDate: Wed Jul 30 16:56:15 2025 +0000

    Publish built docs triggered by 1c111d58f12cd788d57d1552fca3daa0a8c76b0f
---
 _sources/user-guide/gluten_comparison.md.txt | 51 +++++++--------------
 searchindex.js                               |  2 +-
 user-guide/gluten_comparison.html            | 66 ++++++++--------------------
 3 files changed, 36 insertions(+), 83 deletions(-)

diff --git a/_sources/user-guide/gluten_comparison.md.txt b/_sources/user-guide/gluten_comparison.md.txt
index c30b5f0c6..f7403ca27 100644
--- a/_sources/user-guide/gluten_comparison.md.txt
+++ b/_sources/user-guide/gluten_comparison.md.txt
@@ -20,7 +20,7 @@
 # Comparison of Comet and Gluten
 
 This document provides a comparison of the Comet and Gluten projects to help guide users who are looking to choose
-between them. This document is likely biased because it is maintained by the Comet community.
+between them. This document is likely biased because the Comet community maintains it.
 
 We recommend trying out both Comet and Gluten to see which is the best fit for your needs.
 
@@ -29,7 +29,7 @@ This document is based on Comet 0.9.0 and Gluten 1.4.0.
 ## Architecture
 
 Comet and Gluten have very similar architectures. Both are Spark plugins that translate Spark physical plans to
-a serialized representation and pass them to native code for execution.
+a serialized representation and pass the serialized plan to native code for execution.
 
 Gluten serializes the plans using the Substrait format and has an extensible architecture that supports execution
 against multiple engines. Velox and Clickhouse are currently supported, but Velox is more widely used.
@@ -48,8 +48,13 @@ Apache Software Foundation.
 
 Velox and DataFusion are both mature query engines that are growing in popularity.
 
-Comet may be a better choice for users with plans for integrating with other Rust software in the future, and
-Gluten+Velox may be a better choice for users with plans for integrating with other C++ code.
+From the point of view of the usage of these query engines in Gluten and Comet, the most significant difference is 
+the choice of implementation language (Rust vs C++) and this may be the main factor that users should consider when 
+choosing a solution. For users wishing to implement UDFs in Rust, Comet would likely be a better choice. For users 
+wishing to implement UDFs in C++, Gluten would likely be a better choice.
+
+If users are just interested in speeding up their existing Spark jobs and do not need to implement UDFs in native 
+code, then we suggest benchmarking with both solutions and choosing the fastest one for your use case.
 
 ![github-stars-datafusion-velox.png](../_static/images/github-stars-datafusion-velox.png)
 
@@ -69,47 +74,25 @@ suite. See the [Gluten Compatibility Guide] for more information.
 ## Performance
 
 When running a benchmark derived from TPC-H on a single node against local Parquet files, we see that both Comet
-and Gluten provide a good speedup when compared to Spark. Comet provides a 2.4x speedup compares to a 2.8x speedup 
+and Gluten provide an impressive speedup when compared to Spark. Comet provides a 2.4x speedup compares to a 2.8x speedup 
 with Gluten.
 
-Gluten is currently slightly faster than Comet, but we expect to close that gap over time.
+Gluten is currently faster than Comet for this particular benchmark, but we expect to close that gap over time.
+
+Although TPC-H is a good benchmark for operators such as joins and aggregates, it doesn't necessarily represent 
+real-world queries, especially for ETL use cases. For example, there are no complex types involved and no string 
+manipulation, regular expressions, or other advanced expressions. We recommend running your own benchmarks based
+on your existing Spark jobs. 
 
 ![tpch_allqueries_comet_gluten.png](../_static/images//benchmark-results/0.9.0/tpch_spark_comet_gluten.png)
 
 The scripts that were used to generate these results can be found [here](https://github.com/apache/datafusion-comet/tree/main/dev/benchmarks).
 
-## Ease of Development
-
-Comet has a much smaller codebase than Gluten. A fresh clone of the respective repositories shows that Comet has ~41k
-lines of Scala+Java code and ~40k lines of Rust code. Gluten has ~207k lines of Scala+Java code and ~89k lines of C++
-code.
+## Ease of Development & Contributing
 
 Setting up a local development environment with Comet is generally easier than with Gluten due to Rust's package
 management capabilities vs the complexities around installing C++ dependencies.
 
-### Comet Lines of Code
-
-```
--------------------------------------------------------------------------------
-Language                     files          blank        comment           code
--------------------------------------------------------------------------------
-Rust                           159           4870           5388          39989
-Scala                          171           4849           6277          32538
-Java                            66           1556           2619           8724
-```
-
-### Gluten Lines of Code
-
-```
---------------------------------------------------------------------------------
-Language                      files          blank        comment           code
---------------------------------------------------------------------------------
-Scala                          1312          23264          37534         179664
-C++                             421           9841          10245          64554
-Java                            328           5063           6726          26520
-C/C++ Header                    304           4875           6255          23527
-```
-
 ## Summary
 
 Comet and Gluten are both good solutions for accelerating Spark jobs. We recommend trying both to see which is the
diff --git a/searchindex.js b/searchindex.js
index 4c9bc9614..1cc5be065 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"1. Install Comet": [[11, "install-comet"]], "2. Clone Spark and Apply Diff": [[11, "clone-spark-and-apply-diff"]], "3. Run Spark SQL Tests": [[11, "run-spark-sql-tests"]], "ANSI Mode": [[14, "ansi-mode"]], "API Differences Between Spark Versions": [[0, "api-differences-between-spark-versions"]], "ASF Links": [[13, null]], "Accelerating Apache Iceberg Parquet Scans using Comet (Experimental)": [[20, null]], "Adding Spark-side Tests for the New Expression":  [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"1. Install Comet": [[11, "install-comet"]], "2. Clone Spark and Apply Diff": [[11, "clone-spark-and-apply-diff"]], "3. Run Spark SQL Tests": [[11, "run-spark-sql-tests"]], "ANSI Mode": [[14, "ansi-mode"]], "API Differences Between Spark Versions": [[0, "api-differences-between-spark-versions"]], "ASF Links": [[13, null]], "Accelerating Apache Iceberg Parquet Scans using Comet (Experimental)": [[20, null]], "Adding Spark-side Tests for the New Expression":  [...]
\ No newline at end of file
diff --git a/user-guide/gluten_comparison.html b/user-guide/gluten_comparison.html
index 5f37a4007..793668054 100644
--- a/user-guide/gluten_comparison.html
+++ b/user-guide/gluten_comparison.html
@@ -315,21 +315,9 @@ under the License.
   </a>
  </li>
  <li class="toc-h2 nav-item toc-entry">
-  <a class="reference internal nav-link" href="#ease-of-development">
-   Ease of Development
+  <a class="reference internal nav-link" href="#ease-of-development-contributing">
+   Ease of Development &amp; Contributing
   </a>
-  <ul class="nav section-nav flex-column">
-   <li class="toc-h3 nav-item toc-entry">
-    <a class="reference internal nav-link" href="#comet-lines-of-code">
-     Comet Lines of Code
-    </a>
-   </li>
-   <li class="toc-h3 nav-item toc-entry">
-    <a class="reference internal nav-link" href="#gluten-lines-of-code">
-     Gluten Lines of Code
-    </a>
-   </li>
-  </ul>
  </li>
  <li class="toc-h2 nav-item toc-entry">
   <a class="reference internal nav-link" href="#summary">
@@ -385,13 +373,13 @@ under the License.
 <section id="comparison-of-comet-and-gluten">
 <h1>Comparison of Comet and Gluten<a class="headerlink" href="#comparison-of-comet-and-gluten" title="Link to this heading">¶</a></h1>
 <p>This document provides a comparison of the Comet and Gluten projects to help guide users who are looking to choose
-between them. This document is likely biased because it is maintained by the Comet community.</p>
+between them. This document is likely biased because the Comet community maintains it.</p>
 <p>We recommend trying out both Comet and Gluten to see which is the best fit for your needs.</p>
 <p>This document is based on Comet 0.9.0 and Gluten 1.4.0.</p>
 <section id="architecture">
 <h2>Architecture<a class="headerlink" href="#architecture" title="Link to this heading">¶</a></h2>
 <p>Comet and Gluten have very similar architectures. Both are Spark plugins that translate Spark physical plans to
-a serialized representation and pass them to native code for execution.</p>
+a serialized representation and pass the serialized plan to native code for execution.</p>
 <p>Gluten serializes the plans using the Substrait format and has an extensible architecture that supports execution
 against multiple engines. Velox and Clickhouse are currently supported, but Velox is more widely used.</p>
 <p>Comet serializes the plans in a proprietary Protocol Buffer format. Execution is delegated to Apache DataFusion. Comet
@@ -404,8 +392,12 @@ does not plan to support multiple engines, but rather focus on a tight integrati
 <p>Comet uses Apache DataFusion, which is an open-source vectorized query engine implemented in Rust and is governed by the
 Apache Software Foundation.</p>
 <p>Velox and DataFusion are both mature query engines that are growing in popularity.</p>
-<p>Comet may be a better choice for users with plans for integrating with other Rust software in the future, and
-Gluten+Velox may be a better choice for users with plans for integrating with other C++ code.</p>
+<p>From the point of view of the usage of these query engines in Gluten and Comet, the most significant difference is
+the choice of implementation language (Rust vs C++) and this may be the main factor that users should consider when
+choosing a solution. For users wishing to implement UDFs in Rust, Comet would likely be a better choice. For users
+wishing to implement UDFs in C++, Gluten would likely be a better choice.</p>
+<p>If users are just interested in speeding up their existing Spark jobs and do not need to implement UDFs in native
+code, then we suggest benchmarking with both solutions and choosing the fastest one for your use case.</p>
 <p><img alt="github-stars-datafusion-velox.png" src="../_images/github-stars-datafusion-velox.png" /></p>
 </section>
 <section id="compatibility">
@@ -419,42 +411,20 @@ suite. See the <a class="reference external" href="https://apache.github.io/incu
 <section id="performance">
 <h2>Performance<a class="headerlink" href="#performance" title="Link to this heading">¶</a></h2>
 <p>When running a benchmark derived from TPC-H on a single node against local Parquet files, we see that both Comet
-and Gluten provide a good speedup when compared to Spark. Comet provides a 2.4x speedup compares to a 2.8x speedup
+and Gluten provide an impressive speedup when compared to Spark. Comet provides a 2.4x speedup compares to a 2.8x speedup
 with Gluten.</p>
-<p>Gluten is currently slightly faster than Comet, but we expect to close that gap over time.</p>
+<p>Gluten is currently faster than Comet for this particular benchmark, but we expect to close that gap over time.</p>
+<p>Although TPC-H is a good benchmark for operators such as joins and aggregates, it doesn’t necessarily represent
+real-world queries, especially for ETL use cases. For example, there are no complex types involved and no string
+manipulation, regular expressions, or other advanced expressions. We recommend running your own benchmarks based
+on your existing Spark jobs.</p>
 <p><img alt="tpch_allqueries_comet_gluten.png" src="../_images/tpch_spark_comet_gluten.png" /></p>
 <p>The scripts that were used to generate these results can be found <a class="reference external" href="https://github.com/apache/datafusion-comet/tree/main/dev/benchmarks">here</a>.</p>
 </section>
-<section id="ease-of-development">
-<h2>Ease of Development<a class="headerlink" href="#ease-of-development" title="Link to this heading">¶</a></h2>
-<p>Comet has a much smaller codebase than Gluten. A fresh clone of the respective repositories shows that Comet has ~41k
-lines of Scala+Java code and ~40k lines of Rust code. Gluten has ~207k lines of Scala+Java code and ~89k lines of C++
-code.</p>
+<section id="ease-of-development-contributing">
+<h2>Ease of Development &amp; Contributing<a class="headerlink" href="#ease-of-development-contributing" title="Link to this heading">¶</a></h2>
 <p>Setting up a local development environment with Comet is generally easier than with Gluten due to Rust’s package
 management capabilities vs the complexities around installing C++ dependencies.</p>
-<section id="comet-lines-of-code">
-<h3>Comet Lines of Code<a class="headerlink" href="#comet-lines-of-code" title="Link to this heading">¶</a></h3>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">-------------------------------------------------------------------------------</span>
-<span class="n">Language</span>                     <span class="n">files</span>          <span class="n">blank</span>        <span class="n">comment</span>           <span class="n">code</span>
-<span class="o">-------------------------------------------------------------------------------</span>
-<span class="n">Rust</span>                           <span class="mi">159</span>           <span class="mi">4870</span>           <span class="mi">5388</span>          <span class="mi">39989</span>
-<span class="n">Scala</span>                          <span class="mi">171</span>           <span class="mi">4849</span>           <span class="mi">6277</span>          <span class="mi">32538</span>
-<span class="n">Java</span>                            <span class="mi">66</span>           <span class="mi">1556</span>           <span class="mi">2619</span>           <span class="mi">8724</span>
-</pre></div>
-</div>
-</section>
-<section id="gluten-lines-of-code">
-<h3>Gluten Lines of Code<a class="headerlink" href="#gluten-lines-of-code" title="Link to this heading">¶</a></h3>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">--------------------------------------------------------------------------------</span>
-<span class="n">Language</span>                      <span class="n">files</span>          <span class="n">blank</span>        <span class="n">comment</span>           <span class="n">code</span>
-<span class="o">--------------------------------------------------------------------------------</span>
-<span class="n">Scala</span>                          <span class="mi">1312</span>          <span class="mi">23264</span>          <span class="mi">37534</span>         <span class="mi">179664</span>
-<span class="n">C</span><span class="o">++</span>                             <span class="mi">421</span>           <span class="mi">9841</span>          <span class="mi">10245</span>          <span class="mi">64554</span>
-<span class="n">Java</span>                            <span class="mi">328</span>           <span class="mi">5063</span>           <span class="mi">6726</span>          <span class="mi">26520</span>
-<span class="n">C</span><span class="o">/</span><span class="n">C</span><span class="o">++</span> <span class="n">Header</span>                    <span class="mi">304</span>           <span class="mi">4875</span>           <span class="mi">6255</span>          <span class="mi">23527</span>
-</pre></div>
-</div>
-</section>
 </section>
 <section id="summary">
 <h2>Summary<a class="headerlink" href="#summary" title="Link to this heading">¶</a></h2>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datafusion.apache.org
For additional commands, e-mail: commits-help@datafusion.apache.org