Kontinuation opened a new pull request, #306:
URL: https://github.com/apache/sedona-db/pull/306

   This optimization simply hoists per-column arrays in `RasterStructArray`, so 
that we don't need to extract individual arrays from the struct array each time 
we construct a `RasterRefImpl` value in `RasterStructArray::get`. We also 
marked short getters as inline so that the compiler could optimize away the 
construction of intermediate objects in simple metadata getter functions such 
as RS_Width.
   
   I've benchmarked this using the `rs_width` bench in PR 
https://github.com/apache/sedona-db/pull/297, the performance improvement is 
quite significant.
   
   Baseline:
   
   ```
   ./tmp/rs_width_main --bench rs_width --save-baseline rs_width
   Gnuplot not found, using plotters backend
   native-rs_width-Array(Raster(64, 64))
                           time:   [7.3810 ms 7.3912 ms 7.4034 ms]
   Found 8 outliers among 100 measurements (8.00%)
     5 (5.00%) high mild
     3 (3.00%) high severe
   ```
   
   This PR:
   
   ```
   native-rs_width-Array(Raster(64, 64))
                           time:   [474.81 µs 475.81 µs 476.75 µs]
                           change: [-93.593% -93.576% -93.560%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 2 outliers among 100 measurements (2.00%)
     2 (2.00%) high severe
   ```


-- 
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