chore(): Added benchmark tests for parquet and hdf5 - #2509
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #2509 +/- ##
============================================
+ Coverage 71.38% 71.41% +0.03%
- Complexity 48756 50426 +1670
============================================
Files 1571 1629 +58
Lines 188912 195518 +6606
Branches 37067 38116 +1049
============================================
+ Hits 134858 139633 +4775
- Misses 43603 44947 +1344
- Partials 10451 10938 +487 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Thanks for the first PR @Ichbinkiana. I am missing concrete results and interpretations. Did you get some insights from the benchmarks that you could share? Please move those benchmarks to the performance test package and do not use JUnit to run those, because it adds overhead which may distort the results. |
Summary of changesLatest commits moved the HDF5 benchmark away from JUNIT and also introduced two HDF5 I/O optimizations as below:
ResultsFor dense sequential writing:
For sparse matrix writing with 125000 x 1000 and 125000 nonzeros:
Interpretations/ Reasoning
Why did i use synthetic Data
|
|
I'll also push the optimization with results and interpretation for Parquet reader and writer by tomorrow EoD. |
|
Next steps:
|
HDFS Comparison to external Benchmark
|
Parquet Results and observations SummarySummary of Changes
Benchmark SetupSynthetic BenchmarkMy benchmark used three data profiles:
Main settings:
External Real-Data BenchmarkThe external benchmark used, Data properties:
Results and Baseline Comparison1. Dense FP64 Synthetic DataRead
Write
InterpretationFor dense FP64 data, the single-file SystemDS path and direct parquet-java baseline are close.
2. Mixed-Schema Synthetic DataRead
Write
InterpretationThe mixed-schema profile is slower than dense FP64 because it includes multiple value types, including strings and booleans imo. Similar to dense profile test:
3. Sparse-Like FP64 Synthetic DataRead
Write
InterpretationThe optimized parallel path still shows a clear improvement:
4. External Yellow Taxi Real DataExternal Single-File Read
Multipart Read-Back
Write from External FrameBlock
InterpretationThe external Yellow Taxi benchmark shows that the same behavior appears on real Parquet data.
Overall Interpretation
|
|
Thanks for the submission. Your PR does not build. Could you please address these failures @Ichbinkiana? Thanks |
|
@janniklinde Thx for feedback. I've already updated the code. Can you please trigger the workflows again? |
|
Could you please address the codestyle issues @Ichbinkiana? You can simply run |
No description provided.