neilconway commented on PR #20328:
URL: https://github.com/apache/datafusion/pull/20328#issuecomment-3893418430
Benchmark results:
```
$ cargo bench --bench trim -- --baseline trim-vanilla
Compiling datafusion-functions v52.1.0
(/Users/neilconway/datafusion/datafusion/functions)
Finished `bench` profile [optimized] target(s) in 1m 06s
Running benches/trim.rs (target/release/deps/trim-f8f9367cd2b7a1fc)
Gnuplot not found, using plotters backend
short strings (len <= 12)/ltrim string_view [size=4096, len=12, remaining=8]
time: [42.905 µs 43.061 µs 43.218 µs]
change: [−0.4965% +0.0512% +0.5910%] (p = 0.86 >
0.05)
No change in performance detected.
short strings (len <= 12)/ltrim string [size=4096, len=12, remaining=8]
time: [44.398 µs 44.607 µs 44.850 µs]
change: [+4.1122% +4.6468% +5.2350%] (p = 0.00 <
0.05)
Performance has regressed.
short strings (len <= 12)/ltrim large_string [size=4096, len=12, remaining=8]
time: [45.106 µs 45.307 µs 45.510 µs]
change: [−0.0052% +0.5379% +1.1110%] (p = 0.09 >
0.05)
No change in performance detected.
long strings, short trim/ltrim string_view [size=4096, len=64, remaining=60]
time: [43.428 µs 43.551 µs 43.687 µs]
change: [+0.5607% +0.8646% +1.1909%] (p = 0.00 <
0.05)
Change within noise threshold.
long strings, short trim/ltrim string [size=4096, len=64, remaining=60]
time: [53.995 µs 54.366 µs 54.800 µs]
change: [+3.1105% +3.8578% +4.7704%] (p = 0.00 <
0.05)
Performance has regressed.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
long strings, short trim/ltrim large_string [size=4096, len=64, remaining=60]
time: [54.305 µs 54.479 µs 54.668 µs]
change: [+2.6914% +3.3148% +3.9170%] (p = 0.00 <
0.05)
Performance has regressed.
long strings, long trim/ltrim string_view [size=4096, len=64, remaining=8]
time: [268.67 µs 270.65 µs 273.18 µs]
change: [−0.1428% +0.6515% +1.5765%] (p = 0.20 >
0.05)
No change in performance detected.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
long strings, long trim/ltrim string [size=4096, len=64, remaining=8]
time: [268.39 µs 269.52 µs 270.95 µs]
change: [+0.4176% +0.9192% +1.4422%] (p = 0.00 <
0.05)
Change within noise threshold.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
long strings, long trim/ltrim large_string [size=4096, len=64, remaining=8]
time: [270.41 µs 272.25 µs 274.21 µs]
change: [+0.6513% +1.3963% +2.1393%] (p = 0.00 <
0.05)
Change within noise threshold.
trim spaces, short strings (len <= 12)/ltrim string_view [size=4096, len=12,
pad=4]
time: [21.058 µs 21.101 µs 21.157 µs]
change: [−41.279% −41.071% −40.857%] (p = 0.00 <
0.05)
Performance has improved.
Found 2 outliers among 10 measurements (20.00%)
1 (10.00%) high mild
1 (10.00%) high severe
trim spaces, short strings (len <= 12)/ltrim string [size=4096, len=12,
pad=4]
time: [21.344 µs 21.366 µs 21.393 µs]
change: [−41.407% −41.237% −41.075%] (p = 0.00 <
0.05)
Performance has improved.
trim spaces, short strings (len <= 12)/ltrim large_string [size=4096,
len=12, pad=4]
time: [22.026 µs 22.086 µs 22.133 µs]
change: [−41.044% −40.864% −40.691%] (p = 0.00 <
0.05)
Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) low severe
trim spaces, long strings/ltrim string_view [size=4096, len=64, pad=4]
time: [20.222 µs 20.233 µs 20.247 µs]
change: [−43.962% −43.776% −43.629%] (p = 0.00 <
0.05)
Performance has improved.
Found 2 outliers among 10 measurements (20.00%)
1 (10.00%) high mild
1 (10.00%) high severe
trim spaces, long strings/ltrim string [size=4096, len=64, pad=4]
time: [33.206 µs 33.276 µs 33.350 µs]
change: [−27.613% −27.271% −26.957%] (p = 0.00 <
0.05)
Performance has improved.
trim spaces, long strings/ltrim large_string [size=4096, len=64, pad=4]
time: [33.363 µs 33.412 µs 33.465 µs]
change: [−27.659% −27.476% −27.284%] (p = 0.00 <
0.05)
Performance has improved.
trim spaces, heavy padding/ltrim string_view [size=4096, len=64, pad=56]
time: [78.836 µs 79.393 µs 80.002 µs]
change: [−58.851% −58.498% −58.126%] (p = 0.00 <
0.05)
Performance has improved.
trim spaces, heavy padding/ltrim string [size=4096, len=64, pad=56]
time: [73.921 µs 74.101 µs 74.317 µs]
change: [−61.437% −61.123% −60.845%] (p = 0.00 <
0.05)
Performance has improved.
Found 2 outliers among 10 measurements (20.00%)
2 (20.00%) high mild
trim spaces, heavy padding/ltrim large_string [size=4096, len=64, pad=56]
time: [72.099 µs 72.282 µs 72.506 µs]
change: [−62.507% −62.277% −62.072%] (p = 0.00 <
0.05)
Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
short strings (len <= 12)/rtrim string_view [size=4096, len=12, remaining=8]
time: [44.079 µs 44.448 µs 44.814 µs]
change: [−1.4365% −0.4867% +0.5736%] (p = 0.41 >
0.05)
No change in performance detected.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
short strings (len <= 12)/rtrim string [size=4096, len=12, remaining=8]
time: [44.491 µs 44.675 µs 44.869 µs]
change: [−0.3069% +0.5821% +1.5853%] (p = 0.28 >
0.05)
No change in performance detected.
short strings (len <= 12)/rtrim large_string [size=4096, len=12, remaining=8]
time: [45.791 µs 46.124 µs 46.459 µs]
change: [+1.4159% +2.2294% +3.1137%] (p = 0.00 <
0.05)
Performance has regressed.
long strings, short trim/rtrim string_view [size=4096, len=64, remaining=60]
time: [46.397 µs 47.068 µs 47.686 µs]
change: [+4.0381% +6.1257% +8.2357%] (p = 0.00 <
0.05)
Performance has regressed.
long strings, short trim/rtrim string [size=4096, len=64, remaining=60]
time: [53.829 µs 54.025 µs 54.209 µs]
change: [−2.0612% −1.1452% −0.2057%] (p = 0.03 <
0.05)
Change within noise threshold.
long strings, short trim/rtrim large_string [size=4096, len=64, remaining=60]
time: [54.906 µs 55.085 µs 55.267 µs]
change: [−0.0504% +0.8501% +1.7049%] (p = 0.08 >
0.05)
No change in performance detected.
long strings, long trim/rtrim string_view [size=4096, len=64, remaining=8]
time: [275.73 µs 280.32 µs 285.36 µs]
change: [−3.2887% −1.7023% +0.1617%] (p = 0.09 >
0.05)
No change in performance detected.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
long strings, long trim/rtrim string [size=4096, len=64, remaining=8]
time: [269.53 µs 270.35 µs 271.16 µs]
change: [−5.6401% −4.7965% −3.9604%] (p = 0.00 <
0.05)
Performance has improved.
long strings, long trim/rtrim large_string [size=4096, len=64, remaining=8]
time: [275.76 µs 279.53 µs 283.43 µs]
change: [−4.4160% −2.4192% −0.4442%] (p = 0.04 <
0.05)
Change within noise threshold.
trim spaces, short strings (len <= 12)/rtrim string_view [size=4096, len=12,
pad=4]
time: [20.464 µs 20.514 µs 20.572 µs]
change: [−43.670% −43.028% −42.595%] (p = 0.00 <
0.05)
Performance has improved.
trim spaces, short strings (len <= 12)/rtrim string [size=4096, len=12,
pad=4]
time: [23.171 µs 23.207 µs 23.252 µs]
change: [−36.575% −36.350% −36.141%] (p = 0.00 <
0.05)
Performance has improved.
Found 2 outliers among 10 measurements (20.00%)
2 (20.00%) high severe
trim spaces, short strings (len <= 12)/rtrim large_string [size=4096,
len=12, pad=4]
time: [22.848 µs 22.867 µs 22.888 µs]
change: [−38.727% −38.510% −38.352%] (p = 0.00 <
0.05)
Performance has improved.
trim spaces, long strings/rtrim string_view [size=4096, len=64, pad=4]
time: [20.255 µs 20.292 µs 20.334 µs]
change: [−43.601% −43.426% −43.256%] (p = 0.00 <
0.05)
Performance has improved.
trim spaces, long strings/rtrim string [size=4096, len=64, pad=4]
time: [34.660 µs 34.755 µs 34.891 µs]
change: [−24.905% −24.350% −23.815%] (p = 0.00 <
0.05)
Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high severe
trim spaces, long strings/rtrim large_string [size=4096, len=64, pad=4]
time: [34.360 µs 34.408 µs 34.457 µs]
change: [−25.337% −25.170% −25.019%] (p = 0.00 <
0.05)
Performance has improved.
trim spaces, heavy padding/rtrim string_view [size=4096, len=64, pad=56]
time: [75.256 µs 75.439 µs 75.683 µs]
change: [−60.177% −59.999% −59.802%] (p = 0.00 <
0.05)
Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high severe
trim spaces, heavy padding/rtrim string [size=4096, len=64, pad=56]
time: [78.448 µs 78.770 µs 79.126 µs]
change: [−58.835% −58.575% −58.300%] (p = 0.00 <
0.05)
Performance has improved.
trim spaces, heavy padding/rtrim large_string [size=4096, len=64, pad=56]
time: [77.699 µs 77.752 µs 77.809 µs]
change: [−59.545% −59.363% −59.195%] (p = 0.00 <
0.05)
Performance has improved.
short strings (len <= 12)/btrim string_view [size=4096, len=12, remaining=8]
time: [73.105 µs 73.647 µs 74.238 µs]
change: [+3.3927% +4.4005% +5.4586%] (p = 0.00 <
0.05)
Performance has regressed.
short strings (len <= 12)/btrim string [size=4096, len=12, remaining=8]
time: [75.293 µs 76.148 µs 77.021 µs]
change: [+8.3402% +9.9418% +11.539%] (p = 0.00 <
0.05)
Performance has regressed.
short strings (len <= 12)/btrim large_string [size=4096, len=12, remaining=8]
time: [78.839 µs 79.952 µs 81.281 µs]
change: [+10.236% +12.151% +14.467%] (p = 0.00 <
0.05)
Performance has regressed.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
long strings, short trim/btrim string_view [size=4096, len=64, remaining=60]
time: [71.733 µs 72.293 µs 72.808 µs]
change: [+3.0219% +4.0058% +4.9697%] (p = 0.00 <
0.05)
Performance has regressed.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) low mild
long strings, short trim/btrim string [size=4096, len=64, remaining=60]
time: [84.574 µs 85.781 µs 86.972 µs]
change: [+4.7981% +6.9083% +8.8313%] (p = 0.00 <
0.05)
Performance has regressed.
long strings, short trim/btrim large_string [size=4096, len=64, remaining=60]
time: [85.809 µs 86.251 µs 86.711 µs]
change: [+5.5363% +6.4835% +7.4349%] (p = 0.00 <
0.05)
Performance has regressed.
long strings, long trim/btrim string_view [size=4096, len=64, remaining=8]
time: [547.08 µs 552.53 µs 557.60 µs]
change: [+0.4654% +2.0197% +3.5231%] (p = 0.03 <
0.05)
Change within noise threshold.
long strings, long trim/btrim string [size=4096, len=64, remaining=8]
time: [558.47 µs 561.99 µs 565.92 µs]
change: [+3.4136% +4.3559% +5.3108%] (p = 0.00 <
0.05)
Performance has regressed.
long strings, long trim/btrim large_string [size=4096, len=64, remaining=8]
time: [573.10 µs 579.42 µs 584.40 µs]
change: [+5.5566% +7.0492% +8.3777%] (p = 0.00 <
0.05)
Performance has regressed.
Found 2 outliers among 10 measurements (20.00%)
1 (10.00%) low severe
1 (10.00%) high mild
trim spaces, short strings (len <= 12)/btrim string_view [size=4096, len=12,
pad=4]
time: [30.169 µs 30.262 µs 30.361 µs]
change: [−44.445% −44.281% −44.052%] (p = 0.00 <
0.05)
Performance has improved.
trim spaces, short strings (len <= 12)/btrim string [size=4096, len=12,
pad=4]
time: [31.165 µs 31.216 µs 31.266 µs]
change: [−43.385% −43.241% −43.101%] (p = 0.00 <
0.05)
Performance has improved.
trim spaces, short strings (len <= 12)/btrim large_string [size=4096,
len=12, pad=4]
time: [31.480 µs 31.567 µs 31.657 µs]
change: [−44.980% −44.752% −44.517%] (p = 0.00 <
0.05)
Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
trim spaces, long strings/btrim string_view [size=4096, len=64, pad=4]
time: [28.841 µs 29.126 µs 29.369 µs]
change: [−45.933% −45.355% −44.886%] (p = 0.00 <
0.05)
Performance has improved.
Found 2 outliers among 10 measurements (20.00%)
1 (10.00%) low severe
1 (10.00%) low mild
trim spaces, long strings/btrim string [size=4096, len=64, pad=4]
time: [40.517 µs 40.635 µs 40.777 µs]
change: [−37.048% −36.739% −36.426%] (p = 0.00 <
0.05)
Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
trim spaces, long strings/btrim large_string [size=4096, len=64, pad=4]
time: [41.175 µs 41.368 µs 41.588 µs]
change: [−36.551% −36.026% −35.543%] (p = 0.00 <
0.05)
Performance has improved.
trim spaces, heavy padding/btrim string_view [size=4096, len=64, pad=56]
time: [130.12 µs 131.19 µs 132.49 µs]
change: [−64.262% −63.954% −63.589%] (p = 0.00 <
0.05)
Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
trim spaces, heavy padding/btrim string [size=4096, len=64, pad=56]
time: [133.87 µs 134.36 µs 134.96 µs]
change: [−63.457% −63.280% −63.081%] (p = 0.00 <
0.05)
Performance has improved.
Found 2 outliers among 10 measurements (20.00%)
1 (10.00%) low mild
1 (10.00%) high severe
trim spaces, heavy padding/btrim large_string [size=4096, len=64, pad=56]
time: [128.41 µs 128.98 µs 129.57 µs]
change: [−64.944% −64.656% −64.372%] (p = 0.00 <
0.05)
Performance has improved.
```
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]