You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2021/01/26 22:47:01 UTC

[GitHub] [arrow] yordan-pavlov commented on pull request #9329: [Rust] [Experiment] Replace `Arc` by `ArrayData` in all arrays

yordan-pavlov commented on pull request #9329:
URL: https://github.com/apache/arrow/pull/9329#issuecomment-767877784


   @jorgecarleitao that's an interesting idea; simplification makes sense, especially if cloning `ArrayData` is cheap and there is no obvious reason to use `Arc<ArrayData>`.
   
   I ran the filter benchmarks with SIMD enabled and got the following results (in comparison to master).
   Possibly some improvement, but the results are not very clear - often the differences are small.
   
   filter u8               time:   [556.89 us 562.29 us 568.54 us]
                           change: [-3.0769% +0.2211% +3.2221%] (p = 0.89 > 0.05)
                           
   
   filter u8 high selectivity
                           time:   [13.859 us 13.959 us 14.081 us]
                           change: [-2.3832% +0.3285% +3.0131%] (p = 0.81 > 0.05)
   
   filter u8 low selectivity
                           time:   [7.7940 us 7.8819 us 7.9793 us]
                           change: [+8.3043% +11.999% +16.830%] (p = 0.00 < 0.05)
                           
   filter context u8       time:   [205.24 us 209.06 us 213.16 us]
                           change: [+0.4175% +5.7203% +11.914%] (p = 0.04 < 0.05)
                           
   filter context u8 high selectivity
                           time:   [3.7003 us 3.7456 us 3.8010 us]
                           change: [-3.2048% -0.7748% +1.5407%] (p = 0.55 > 0.05)
                           
   filter context u8 low selectivity
                           time:   [1.3066 us 1.3243 us 1.3443 us]
                           change: [-3.4133% -1.5255% +0.1897%] (p = 0.11 > 0.05)
                           
   filter context u8 w NULLs
                           time:   [496.69 us 501.24 us 506.60 us]
                           change: [-8.8715% -4.9662% -1.0448%] (p = 0.02 < 0.05)
                           
   filter context u8 w NULLs high selectivity
                           time:   [254.92 us 258.17 us 262.51 us]
                           change: [+8.6837% +13.067% +17.583%] (p = 0.00 < 0.05)
                           
   filter context u8 w NULLs low selectivity
                           time:   [1.9758 us 2.0159 us 2.0623 us]
                           change: [-10.590% -7.4822% -4.2891%] (p = 0.00 < 0.05)
                           
   filter f32              time:   [779.40 us 789.32 us 801.26 us]
                           change: [-17.189% -13.338% -9.2795%] (p = 0.00 < 0.05)
                           
   filter context f32      time:   [485.95 us 495.16 us 506.07 us]
                           change: [-7.7798% -3.5929% +0.9816%] (p = 0.12 > 0.05)
                           
   filter context f32 high selectivity
                           time:   [258.28 us 259.96 us 261.83 us]
                           change: [+2.0252% +5.7103% +9.4974%] (p = 0.00 < 0.05)
                           
   filter context f32 low selectivity
                           time:   [1.9878 us 2.0332 us 2.0857 us]
                           change: [-7.9039% -4.8554% -1.8226%] (p = 0.00 < 0.05)
                           
   filter context string   time:   [639.51 us 646.56 us 655.15 us]
                           change: [-9.9164% -5.9396% -2.2137%] (p = 0.00 < 0.05)
                           
   filter context string high selectivity
                           time:   [1.0009 ms 1.0168 ms 1.0344 ms]
                           change: [-5.8412% -1.1777% +4.1292%] (p = 0.65 > 0.05)
                           
   filter context string low selectivity
                           time:   [2.9339 us 2.9668 us 3.0060 us]
                           change: [-6.4880% -2.3484% +1.7663%] (p = 0.29 > 0.05)
   


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

For queries about this service, please contact Infrastructure at:
users@infra.apache.org