chore(): Added benchmark tests for parquet and hdf5 - #2509
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2509 +/- ##
============================================
+ Coverage 71.38% 71.56% +0.17%
- Complexity 48756 49047 +291
============================================
Files 1571 1574 +3
Lines 188912 189565 +653
Branches 37067 37188 +121
============================================
+ Hits 134858 135663 +805
+ Misses 43603 43430 -173
- Partials 10451 10472 +21 ☔ 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
|
No description provided.