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

commit c563d7c3499aa1c6f2672ab571a0c3cdca2cf0c1
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed Aug 5 18:15:05 2026 +0000

    Publish built docs triggered by 1feef7aba891385349234b4fb8d204c3f3f371ac
---
 _sources/contributor-guide/development.md.txt            |  8 ++++----
 _sources/contributor-guide/optimizing_expressions.md.txt |  3 ++-
 _sources/contributor-guide/spark_configs_support.md.txt  |  2 +-
 contributor-guide/development.html                       |  8 ++++----
 contributor-guide/optimizing_expressions.html            | 12 ++++++++----
 contributor-guide/spark_configs_support.html             |  2 +-
 searchindex.js                                           |  2 +-
 7 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/_sources/contributor-guide/development.md.txt 
b/_sources/contributor-guide/development.md.txt
index 7e5c20c7ec..26fdbbb404 100644
--- a/_sources/contributor-guide/development.md.txt
+++ b/_sources/contributor-guide/development.md.txt
@@ -269,10 +269,10 @@ and `-Dtest=none`:
 ./mvnw test -Dtest=none -Dsuites="org.apache.comet.CometArrayExpressionSuite"
 
 # Run multiple suites (comma-separated, fully qualified)
-./mvnw test -Dtest=none 
-Dsuites="org.apache.comet.CometCastSuite,org.apache.comet.CometArrayExpressionSuite"
+./mvnw test -Dtest=none 
-Dsuites="org.apache.comet.CometNativeCastSuite,org.apache.comet.CometArrayExpressionSuite"
 
 # Run only tests whose name contains "valid" inside one suite
-./mvnw test -Dtest=none -Dsuites="org.apache.comet.CometCastSuite valid"
+./mvnw test -Dtest=none -Dsuites="org.apache.comet.CometNativeCastSuite valid"
 ```
 
 `-Dtest=none` tells the Surefire (JUnit) plugin to skip its tests; without it, 
Surefire still
@@ -474,10 +474,10 @@ However if the tests is related to the native side. 
Please make sure to run `mak
 
 Specify which ScalaTest suites to run with the `suites` argument and disable 
Surefire's JUnit
 discovery with `-Dtest=none`. For example, to run only the test cases 
containing _valid_ in
-their name from `org.apache.comet.CometCastSuite`:
+their name from `org.apache.comet.CometNativeCastSuite`:
 
 ```sh
-./mvnw test -Dtest=none -Dsuites="org.apache.comet.CometCastSuite valid"
+./mvnw test -Dtest=none -Dsuites="org.apache.comet.CometNativeCastSuite valid"
 ```
 
 See [Running a Specific ScalaTest Suite](#running-a-specific-scalatest-suite) 
above for the full
diff --git a/_sources/contributor-guide/optimizing_expressions.md.txt 
b/_sources/contributor-guide/optimizing_expressions.md.txt
index a000f91398..ecdb8a7263 100644
--- a/_sources/contributor-guide/optimizing_expressions.md.txt
+++ b/_sources/contributor-guide/optimizing_expressions.md.txt
@@ -149,7 +149,8 @@ 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`: compute list lengths from offsets, zero 
allocation                                                                      
                                                |
+| **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                                 
                                              |
+| **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                                                 
                                                 |
 | **`memcpy` from a precomputed buffer**                             | 
Char-by-char `push` into a scratch `String`                                     
                      | `spark_lpad`: pad from a precomputed repeating pad 
buffer, write directly into the builder                                         
                                                   |
diff --git a/_sources/contributor-guide/spark_configs_support.md.txt 
b/_sources/contributor-guide/spark_configs_support.md.txt
index 4ec8a99edf..b2c55bc146 100644
--- a/_sources/contributor-guide/spark_configs_support.md.txt
+++ b/_sources/contributor-guide/spark_configs_support.md.txt
@@ -104,7 +104,7 @@ across Spark 3.4, 3.5, 4.0, and 4.1. Three expression 
classes mix in
   `to_date`, and Spark 4's `try_to_timestamp`)
 
 `Cast` between strings and date / timestamp also reads the policy via the 
default
-formatters but is tested separately by `CometCastSuite` and is out of scope 
here.
+formatters but is tested separately by `CometNativeCastSuite` and is out of 
scope here.
 
 **Comet status.** None of the native implementations consult
 `legacyTimeParserPolicy` directly. Comet instead uses native implementations 
only for
diff --git a/contributor-guide/development.html 
b/contributor-guide/development.html
index 971e6215f3..24a0956fbc 100644
--- a/contributor-guide/development.html
+++ b/contributor-guide/development.html
@@ -824,10 +824,10 @@ and <code class="docutils literal notranslate"><span 
class="pre">-Dtest=none</sp
 ./mvnw<span class="w"> </span><span class="nb">test</span><span class="w"> 
</span>-Dtest<span class="o">=</span>none<span class="w"> </span>-Dsuites<span 
class="o">=</span><span 
class="s2">&quot;org.apache.comet.CometArrayExpressionSuite&quot;</span>
 
 <span class="c1"># Run multiple suites (comma-separated, fully 
qualified)</span>
-./mvnw<span class="w"> </span><span class="nb">test</span><span class="w"> 
</span>-Dtest<span class="o">=</span>none<span class="w"> </span>-Dsuites<span 
class="o">=</span><span 
class="s2">&quot;org.apache.comet.CometCastSuite,org.apache.comet.CometArrayExpressionSuite&quot;</span>
+./mvnw<span class="w"> </span><span class="nb">test</span><span class="w"> 
</span>-Dtest<span class="o">=</span>none<span class="w"> </span>-Dsuites<span 
class="o">=</span><span 
class="s2">&quot;org.apache.comet.CometNativeCastSuite,org.apache.comet.CometArrayExpressionSuite&quot;</span>
 
 <span class="c1"># Run only tests whose name contains &quot;valid&quot; inside 
one suite</span>
-./mvnw<span class="w"> </span><span class="nb">test</span><span class="w"> 
</span>-Dtest<span class="o">=</span>none<span class="w"> </span>-Dsuites<span 
class="o">=</span><span class="s2">&quot;org.apache.comet.CometCastSuite 
valid&quot;</span>
+./mvnw<span class="w"> </span><span class="nb">test</span><span class="w"> 
</span>-Dtest<span class="o">=</span>none<span class="w"> </span>-Dsuites<span 
class="o">=</span><span class="s2">&quot;org.apache.comet.CometNativeCastSuite 
valid&quot;</span>
 </pre></div>
 </div>
 <p><code class="docutils literal notranslate"><span 
class="pre">-Dtest=none</span></code> tells the Surefire (JUnit) plugin to skip 
its tests; without it, Surefire still
@@ -1003,8 +1003,8 @@ However if the tests is related to the native side. 
Please make sure to run <cod
 <h3>Running Tests from command line<a class="headerlink" 
href="#running-tests-from-command-line" title="Link to this heading">#</a></h3>
 <p>Specify which ScalaTest suites to run with the <code class="docutils 
literal notranslate"><span class="pre">suites</span></code> argument and 
disable Surefire’s JUnit
 discovery with <code class="docutils literal notranslate"><span 
class="pre">-Dtest=none</span></code>. For example, to run only the test cases 
containing <em>valid</em> in
-their name from <code class="docutils literal notranslate"><span 
class="pre">org.apache.comet.CometCastSuite</span></code>:</p>
-<div class="highlight-sh notranslate"><div 
class="highlight"><pre><span></span>./mvnw<span class="w"> </span><span 
class="nb">test</span><span class="w"> </span>-Dtest<span 
class="o">=</span>none<span class="w"> </span>-Dsuites<span 
class="o">=</span><span class="s2">&quot;org.apache.comet.CometCastSuite 
valid&quot;</span>
+their name from <code class="docutils literal notranslate"><span 
class="pre">org.apache.comet.CometNativeCastSuite</span></code>:</p>
+<div class="highlight-sh notranslate"><div 
class="highlight"><pre><span></span>./mvnw<span class="w"> </span><span 
class="nb">test</span><span class="w"> </span>-Dtest<span 
class="o">=</span>none<span class="w"> </span>-Dsuites<span 
class="o">=</span><span class="s2">&quot;org.apache.comet.CometNativeCastSuite 
valid&quot;</span>
 </pre></div>
 </div>
 <p>See <a class="reference internal" 
href="#running-a-specific-scalatest-suite">Running a Specific ScalaTest 
Suite</a> above for the full
diff --git a/contributor-guide/optimizing_expressions.html 
b/contributor-guide/optimizing_expressions.html
index fa08c1de0d..275e46c91f 100644
--- a/contributor-guide/optimizing_expressions.html
+++ b/contributor-guide/optimizing_expressions.html
@@ -701,17 +701,21 @@ 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>: compute list lengths from offsets, zero 
allocation</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>
 </tr>
-<tr class="row-even"><td><p><strong>Typed scans over flat values buffers + 
hash probe</strong></p></td>
+<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>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">spark_size</span></code> (~12x on no-null List): <code 
class="docutils literal notranslate"><span class="pre">length</span></code> for 
List/LargeList/FixedSizeList, then <code class="docutils literal 
notranslate"><span class="pre">into_parts</span></code> + <code class="docutils 
literal notranslate"><span class="pre">set_indices</span></code> to patch null 
slots to <code class="docutils literal notranslate"><span class=" [...]
+</tr>
+<tr class="row-odd"><td><p><strong>Typed scans over flat values buffers + hash 
probe</strong></p></td>
 <td><p>A per-element Arrow <code class="docutils literal notranslate"><span 
class="pre">eq</span></code>/compute kernel that allocates per call</p></td>
 <td><p><code class="docutils literal notranslate"><span 
class="pre">spark_arrays_overlap</span></code> (up to 18x): scan buffers 
directly, hash probe for large lists</p></td>
 </tr>
-<tr class="row-odd"><td><p><strong>ASCII / byte-offset fast 
path</strong></p></td>
+<tr class="row-even"><td><p><strong>ASCII / byte-offset fast 
path</strong></p></td>
 <td><p><code class="docutils literal notranslate"><span 
class="pre">chars().count()</span></code> and per-char UTF-8 decoding</p></td>
 <td><p><code class="docutils literal notranslate"><span 
class="pre">substring</span></code> (up to 10x), <code class="docutils literal 
notranslate"><span class="pre">spark_lpad</span></code> (2x): slice by byte 
offset when input is ASCII</p></td>
 </tr>
-<tr class="row-even"><td><p><strong><code class="docutils literal 
notranslate"><span class="pre">memcpy</span></code> from a precomputed 
buffer</strong></p></td>
+<tr class="row-odd"><td><p><strong><code class="docutils literal 
notranslate"><span class="pre">memcpy</span></code> from a precomputed 
buffer</strong></p></td>
 <td><p>Char-by-char <code class="docutils literal notranslate"><span 
class="pre">push</span></code> into a scratch <code class="docutils literal 
notranslate"><span class="pre">String</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span 
class="pre">spark_lpad</span></code>: pad from a precomputed repeating pad 
buffer, write directly into the builder</p></td>
 </tr>
diff --git a/contributor-guide/spark_configs_support.html 
b/contributor-guide/spark_configs_support.html
index e1453dc25e..4b23bc92c0 100644
--- a/contributor-guide/spark_configs_support.html
+++ b/contributor-guide/spark_configs_support.html
@@ -637,7 +637,7 @@ across Spark 3.4, 3.5, 4.0, and 4.1. Three expression 
classes mix in
 <code class="docutils literal notranslate"><span 
class="pre">to_date</span></code>, and Spark 4’s <code class="docutils literal 
notranslate"><span class="pre">try_to_timestamp</span></code>)</p></li>
 </ul>
 <p><code class="docutils literal notranslate"><span 
class="pre">Cast</span></code> between strings and date / timestamp also reads 
the policy via the default
-formatters but is tested separately by <code class="docutils literal 
notranslate"><span class="pre">CometCastSuite</span></code> and is out of scope 
here.</p>
+formatters but is tested separately by <code class="docutils literal 
notranslate"><span class="pre">CometNativeCastSuite</span></code> and is out of 
scope here.</p>
 <p><strong>Comet status.</strong> None of the native implementations consult
 <code class="docutils literal notranslate"><span 
class="pre">legacyTimeParserPolicy</span></code> directly. Comet instead uses 
native implementations only for
 policy-independent cases and routes policy-sensitive expressions through 
Spark’s own
diff --git a/searchindex.js b/searchindex.js
index c6f209c080..8469167068 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"!": [[54, "id1"]], "%": [[52, "id1"]], "&": 
[[42, "id1"]], "*": [[52, "id2"]], "+": [[52, "id3"]], "-": [[52, "id4"]], "/": 
[[52, "id5"]], "1. Format Your Code": [[39, "format-your-code"]], "1. Install 
Comet": [[60, "install-comet"], [70, "install-comet"]], "1. Native Operators 
(nativeExecs map)": [[27, "native-operators-nativeexecs-map"]], "2. Build and 
Verify": [[39, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[60, 
"clone-iceberg-and-apply- [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"!": [[54, "id1"]], "%": [[52, "id1"]], "&": 
[[42, "id1"]], "*": [[52, "id2"]], "+": [[52, "id3"]], "-": [[52, "id4"]], "/": 
[[52, "id5"]], "1. Format Your Code": [[39, "format-your-code"]], "1. Install 
Comet": [[60, "install-comet"], [70, "install-comet"]], "1. Native Operators 
(nativeExecs map)": [[27, "native-operators-nativeexecs-map"]], "2. Build and 
Verify": [[39, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[60, 
"clone-iceberg-and-apply- [...]
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to