Baunsgaard commented on PR #2511:
URL: https://github.com/apache/systemds/pull/2511#issuecomment-4799568110

   ### Native Delta read performance vs binary reader
   
   Benchmark (`org.apache.sysds.performance` `DeltaIO`), 32 vCPU, JDK 17, 
`-Xmx16g`,
   20 timed repetitions after warmup, isolated (no competing load).
   
   **Workload:** 5,000,000 × 16 dense FP64 matrix (~640 MB in memory, sparsity 
1.0).
   
   | Read path            | Time (ms)      | Disk throughput |
   |----------------------|----------------|-----------------|
   | Delta (serial)       | 5411 ± 79      | 79 MB/s         |
   | **Delta (parallel)** | **875 ± 19**   | **490 MB/s**    |
   | Binary (parallel)    | ~100–170       | 3.7–6.0 GB/s    |
   
   **Takeaways**
   - The parallel reader decodes data files concurrently and is **~6.2× faster 
than the
     serial Delta reader** (5411 ms → 875 ms).
   - The binary reader is still **~5–9× faster** than parallel Delta. This is 
expected:
     binary is a near-raw `double[]` dump, while Delta Kernel 3.3.0 decodes 
parquet
     per-value (row-by-row converters, not vectorized). File-level parallelism 
is the
     main lever available, which is what this reader exploits.
   - **On disk Delta is smaller:** 450 MB vs 645 MB for binary (0.70×), thanks 
to parquet
     encoding — so the read-time cost buys a ~30% smaller footprint.
   
   For reference, the write path is encode-bound: Delta write ~7.0 s vs binary 
~0.15 s
   (parquet encoding dominates); not the focus of this PR but noted for 
completeness.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to