Jefffrey commented on PR #10262:
URL: https://github.com/apache/arrow-rs/pull/10262#issuecomment-4899367844

   i get some pretty good improvements locally which seem to align with your 
table of when the optimization should fire:
   
   ```diff
   encode/fixed/8192x4     time:   [6.3223 µs 6.3640 µs 6.4222 µs]
                           thrpt:  [38.071 GiB/s 38.419 GiB/s 38.672 GiB/s]
                    change:
                           time:   [+0.2755% +0.7585% +1.4886%] (p = 0.01 < 
0.05)
                           thrpt:  [−1.4668% −0.7528% −0.2747%]
                           Change within noise threshold.
   Found 8 outliers among 100 measurements (8.00%)
     1 (1.00%) high mild
     7 (7.00%) high severe
   encode/fixed/8192x8     time:   [11.304 µs 11.314 µs 11.325 µs]
                           thrpt:  [43.178 GiB/s 43.221 GiB/s 43.258 GiB/s]
                    change:
                           time:   [+0.5348% +0.6824% +0.8462%] (p = 0.00 < 
0.05)
                           thrpt:  [−0.8391% −0.6778% −0.5319%]
                           Change within noise threshold.
   Found 5 outliers among 100 measurements (5.00%)
     3 (3.00%) high mild
     2 (2.00%) high severe
   encode/fixed/65536x4    time:   [41.689 µs 41.794 µs 41.910 µs]
                           thrpt:  [46.611 GiB/s 46.741 GiB/s 46.859 GiB/s]
                    change:
                           time:   [+0.3794% +0.6562% +0.9363%] (p = 0.00 < 
0.05)
                           thrpt:  [−0.9277% −0.6520% −0.3779%]
                           Change within noise threshold.
   Found 5 outliers among 100 measurements (5.00%)
     5 (5.00%) high mild
   encode/fixed/65536x8    time:   [71.963 µs 72.078 µs 72.204 µs]
                           thrpt:  [54.110 GiB/s 54.205 GiB/s 54.291 GiB/s]
                    change:
   +                       time:   [−15.766% −15.492% −15.202%] (p = 0.00 < 
0.05)
   +                       thrpt:  [+17.927% +18.332% +18.717%]
   +                       Performance has improved.
   Found 13 outliers among 100 measurements (13.00%)
     10 (10.00%) high mild
     3 (3.00%) high severe
   encode/nested/8192x4    time:   [13.922 µs 13.934 µs 13.947 µs]
                           thrpt:  [43.819 GiB/s 43.859 GiB/s 43.897 GiB/s]
                    change:
                           time:   [+0.0302% +0.2961% +0.5299%] (p = 0.02 < 
0.05)
                           thrpt:  [−0.5271% −0.2952% −0.0302%]
                           Change within noise threshold.
   Found 3 outliers among 100 measurements (3.00%)
     2 (2.00%) high mild
     1 (1.00%) high severe
   encode/nested/8192x8    time:   [26.193 µs 26.229 µs 26.281 µs]
                           thrpt:  [46.509 GiB/s 46.600 GiB/s 46.664 GiB/s]
                    change:
                           time:   [+0.6524% +0.8748% +1.0919%] (p = 0.00 < 
0.05)
                           thrpt:  [−1.0801% −0.8672% −0.6481%]
                           Change within noise threshold.
   Found 12 outliers among 100 measurements (12.00%)
     6 (6.00%) high mild
     6 (6.00%) high severe
   encode/nested/65536x4   time:   [115.74 µs 116.08 µs 116.39 µs]
                           thrpt:  [41.958 GiB/s 42.070 GiB/s 42.195 GiB/s]
                    change:
   +                       time:   [−28.716% −28.414% −28.110%] (p = 0.00 < 
0.05)
   +                       thrpt:  [+39.102% +39.692% +40.284%]
   +                       Performance has improved.
   Found 1 outliers among 100 measurements (1.00%)
     1 (1.00%) high mild
   encode/nested/65536x8   time:   [234.71 µs 234.93 µs 235.16 µs]
                           thrpt:  [41.535 GiB/s 41.576 GiB/s 41.615 GiB/s]
                    change:
   +                       time:   [−37.571% −36.777% −36.012%] (p = 0.00 < 
0.05)
   +                       thrpt:  [+56.279% +58.169% +60.183%]
   +                       Performance has improved.
   Found 21 outliers among 100 measurements (21.00%)
     15 (15.00%) high mild
     6 (6.00%) high severe
   encode/variable/8192x4  time:   [16.089 µs 16.187 µs 16.314 µs]
                           thrpt:  [67.386 GiB/s 67.912 GiB/s 68.327 GiB/s]
                    change:
   -                       time:   [+4.3447% +5.2324% +5.9907%] (p = 0.00 < 
0.05)
   -                       thrpt:  [−5.6521% −4.9723% −4.1638%]
   -                       Performance has regressed.
   encode/variable/8192x8  time:   [37.548 µs 37.609 µs 37.707 µs]
                           thrpt:  [58.308 GiB/s 58.460 GiB/s 58.555 GiB/s]
                    change:
   +                       time:   [−17.988% −15.154% −12.140%] (p = 0.00 < 
0.05)
   +                       thrpt:  [+13.818% +17.860% +21.933%]
   +                       Performance has improved.
   Found 7 outliers among 100 measurements (7.00%)
     3 (3.00%) high mild
     4 (4.00%) high severe
   encode/variable/65536x4 time:   [164.37 µs 165.07 µs 165.61 µs]
                           thrpt:  [53.075 GiB/s 53.250 GiB/s 53.475 GiB/s]
                    change:
   +                       time:   [−41.190% −40.372% −39.560%] (p = 0.00 < 
0.05)
   +                       thrpt:  [+65.454% +67.706% +70.038%]
   +                       Performance has improved.
   encode/variable/65536x8 time:   [323.54 µs 325.42 µs 327.03 µs]
                           thrpt:  [53.755 GiB/s 54.021 GiB/s 54.334 GiB/s]
                    change:
   +                       time:   [−38.285% −37.638% −37.081%] (p = 0.00 < 
0.05)
   +                       thrpt:  [+58.934% +60.354% +62.034%]
   +                       Performance has improved.
   ```
   
   - for reference i'm running on an M4 macbook
   
   only bit of noise is `encode/variable/8192x4` showing a minor regression 
even though the optimization apparently shouldn't have effect. but the other 
results are quite clearly a significant improvement. maybe theres something 
about how the benchmark runner is setup where memory optimizations like this 
might not be as apparent?
   
   can you produce these benchmark results locally as well?


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