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 2026/08/20 17:28:43 UTC
(datafusion-comet) branch asf-site updated: Publish built docs triggered by 2b35fb8eec0fccff56f705073de572b34f0fe3dc
This is an automated email from the ASF dual-hosted git repository.
github-actions[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 8aeeff73db Publish built docs triggered by 2b35fb8eec0fccff56f705073de572b34f0fe3dc
8aeeff73db is described below
commit 8aeeff73db323e7e459b75ea21e931d5886c6b05
Author: github-actions[bot] <gi...@users.noreply.github.com>
AuthorDate: Thu Aug 20 17:28:36 2026 +0000
Publish built docs triggered by 2b35fb8eec0fccff56f705073de572b34f0fe3dc
---
_sources/contributor-guide/optimizing_expressions.md.txt | 2 +-
contributor-guide/optimizing_expressions.html | 2 +-
searchindex.js | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/_sources/contributor-guide/optimizing_expressions.md.txt b/_sources/contributor-guide/optimizing_expressions.md.txt
index ecdb8a7263..4b11dd0487 100644
--- a/_sources/contributor-guide/optimizing_expressions.md.txt
+++ b/_sources/contributor-guide/optimizing_expressions.md.txt
@@ -149,7 +149,7 @@ for the lightest one that fits.
| **Preallocate builders to known size** | Repeated buffer growth/reallocation | `spark_unhex`: preallocate `BinaryBuilder` to the known output length |
| **Compile-time lookup tables** | Per-element range matches / branching | `spark_unhex`: 256-entry hex table instead of per-digit range match |
| **Cache compiled regex** (thread-local, keyed by the constant arg) | `Regex::new()` per row | `parse_url` QUERY-with-key (50x): the key is constant across a batch |
-| **Read from the offset buffer directly** | `list_array.value(i)` allocating a sliced `ArrayRef` per row | `spark_size` Map path and scalar path: `value_length` / offsets instead of materializing a sliced array |
+| **Read from the offset buffer directly** | `list_array.value(i)` allocating a sliced `ArrayRef` per row | `spark_size` scalar path: `value_length` instead of materializing a sliced array; Map array path (~6-13x): `MapArray::offsets().windows(2)` diff, `length` kernel doesn't support Map |
| **Reuse Arrow `length` kernel + cheap null rewrite** | Per-row `value_length` / builder loop, or `zip` via `MutableArrayData` | `spark_size` (~12x on no-null List): `length` for List/LargeList/FixedSizeList, then `into_parts` + `set_indices` to patch null slots to `-1` |
| **Typed scans over flat values buffers + hash probe** | A per-element Arrow `eq`/compute kernel that allocates per call | `spark_arrays_overlap` (up to 18x): scan buffers directly, hash probe for large lists |
| **ASCII / byte-offset fast path** | `chars().count()` and per-char UTF-8 decoding | `substring` (up to 10x), `spark_lpad` (2x): slice by byte offset when input is ASCII |
diff --git a/contributor-guide/optimizing_expressions.html b/contributor-guide/optimizing_expressions.html
index 3bca1b97d7..70836e10d5 100644
--- a/contributor-guide/optimizing_expressions.html
+++ b/contributor-guide/optimizing_expressions.html
@@ -701,7 +701,7 @@ for the lightest one that fits.</p>
</tr>
<tr class="row-odd"><td><p><strong>Read from the offset buffer directly</strong></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">list_array.value(i)</span></code> allocating a sliced <code class="docutils literal notranslate"><span class="pre">ArrayRef</span></code> per row</p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">spark_size</span></code> Map path and scalar path: <code class="docutils literal notranslate"><span class="pre">value_length</span></code> / offsets instead of materializing a sliced array</p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">spark_size</span></code> scalar path: <code class="docutils literal notranslate"><span class="pre">value_length</span></code> instead of materializing a sliced array; Map array path (~6-13x): <code class="docutils literal notranslate"><span class="pre">MapArray::offsets().windows(2)</span></code> diff, <code class="docutils literal notranslate"><span class="pre">length</span></code> kernel doesn’t support Map</p></td>
</tr>
<tr class="row-even"><td><p><strong>Reuse Arrow <code class="docutils literal notranslate"><span class="pre">length</span></code> kernel + cheap null rewrite</strong></p></td>
<td><p>Per-row <code class="docutils literal notranslate"><span class="pre">value_length</span></code> / builder loop, or <code class="docutils literal notranslate"><span class="pre">zip</span></code> via <code class="docutils literal notranslate"><span class="pre">MutableArrayData</span></code></p></td>
diff --git a/searchindex.js b/searchindex.js
index 76442c101b..638171baaa 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"!": [[55, "id1"]], "%": [[53, "id1"]], "&": [[43, "id1"]], "*": [[53, "id2"]], "+": [[53, "id3"]], "-": [[53, "id4"]], "/": [[53, "id5"]], "1. Format Your Code": [[40, "format-your-code"]], "1. Install Comet": [[61, "install-comet"], [71, "install-comet"]], "1. Native Operators (nativeExecs map)": [[28, "native-operators-nativeexecs-map"]], "2. Build and Verify": [[40, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[61, "clone-iceberg-and-apply- [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"!": [[55, "id1"]], "%": [[53, "id1"]], "&": [[43, "id1"]], "*": [[53, "id2"]], "+": [[53, "id3"]], "-": [[53, "id4"]], "/": [[53, "id5"]], "1. Format Your Code": [[40, "format-your-code"]], "1. Install Comet": [[61, "install-comet"], [71, "install-comet"]], "1. Native Operators (nativeExecs map)": [[28, "native-operators-nativeexecs-map"]], "2. Build and Verify": [[40, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[61, "clone-iceberg-and-apply- [...]
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datafusion.apache.org
For additional commands, e-mail: commits-help@datafusion.apache.org