[llvm] [WebAssembly] Implement getInterleavedMemoryOpCost (PR #146864)
Sam Parker via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 6 08:10:08 PDT 2025
sparker-arm wrote:
Now I have my wasi-sdk all up-to-date, these are my results for V8 running on my Xeon:
```
Metric Speedup(%)
---------------------- ------------
Mean (filtered) 12.965
Median (filtered) -1.069
Max (filtered) 401.656
Min (filtered) -14.286
Geomean (non-filtered) 3.417
Benchmark Min Max Median Mean
-------------- ------- ------- -------- ------
bullet -3.248 -2.476 -2.862 -2.862
doe_proxyapps -4.405 1.216 -2.011 -1.859
libyuv -4.018 401.656 -1.036 69.264
lzma -1.555 -1.555 -1.555 -1.555
maratis -2.727 -2.727 -2.727 -2.727
oggenc -1.063 -1.063 -1.063 -1.063
meshoptimizer -1.164 -1.164 -1.164 -1.164
microkernels 4.096 4.096 4.096 4.096
ncnn -14.286 36.07 -0.852 -0.102
pairlocalalign -2.651 -2.651 -2.651 -2.651
pocket_nn -1.926 -1.926 -1.926 -1.926
quickjs -4.158 -4.158 -4.158 -4.158
raytracing -2.638 -2.638 -2.638 -2.638
small3dlib -1.075 14.478 6.702 6.702
spec2017 -2.619 4.257 2.865 1.842
spiff 2.241 2.241 2.241 2.241
sqlite3 3.681 3.681 3.681 3.681
tsvc 2.174 2.174 2.174 2.174
wasm3 2.776 2.776 2.776 2.776
zlib_bench -0.023 0.893 0.435 0.435
```
So, there are some regressions but even for benchmarks like ncnn, where there are swings, the overall result is neutral:
```
Metric Speedup(%)
---------------------- ------------
Mean (filtered) -0.102
Median (filtered) -0.852
Max (filtered) 36.07
Min (filtered) -14.286
Geomean (non-filtered) -0.429
Benchmark Speedup(%)
---------------------------------- ------------
ncnn-FastestDet-run_times -7.429
ncnn-alexnet-run_times -0.852
ncnn-blazeface-run_times -2.016
ncnn-efficientnet_b0-run_times -8.698
ncnn-efficientnetv2_b0-run_times -6.711
ncnn-googlenet-run_times 0.041
ncnn-googlenet_int8-run_times -2.545
ncnn-mnasnet-run_times -5.136
ncnn-mobilenet-run_times -1.182
ncnn-mobilenet_int8-run_times -5.882
ncnn-mobilenet_ssd-run_times 1.681
ncnn-mobilenet_ssd_int8-run_times -0.376
ncnn-mobilenet_v2-run_times -7.895
ncnn-mobilenet_v3-run_times -14.286
ncnn-mobilenet_yolo-run_times -3.361
ncnn-mobilenetv2_yolov3-run_times 1.734
ncnn-nanodet_m-run_times 2.047
ncnn-proxylessnasnet-run_times 2.257
ncnn-regnety_400m-run_times 1.562
ncnn-resnet18-run_times -7.028
ncnn-resnet18_int8-run_times -1.587
ncnn-resnet50-run_times -4.343
ncnn-resnet50_int8-run_times 0.301
ncnn-shufflenet-run_times 36.07
ncnn-shufflenet_v2-run_times -0
ncnn-squeezenet-run_times 22.721
ncnn-squeezenet_int8-run_times 4.812
ncnn-squeezenet_ssd-run_times -0.041
ncnn-squeezenet_ssd_int8-run_times 0.96
ncnn-vgg16-run_times -1.288
ncnn-vgg16_int8-run_times -0.259
ncnn-vision_transformer-run_times -3.205
ncnn-yolo_fastest_1.1-run_times -5.003
ncnn-yolo_fastestv2-run_times 2.779
ncnn-yolov4_tiny-run_times 8.589
```
And this is a closer look at libyuv:
```
Metric Speedup(%)
---------------------- ------------
Mean (filtered) 57.306
Median (filtered) -1.305
Max (filtered) 401.656
Min (filtered) -4.018
Geomean (non-filtered) 15.651
Benchmark Speedup(%)
--------------------------------------------- ------------
libyuv-ARGBScaleDownBy2_Bilinear-run_times 75.091
libyuv-ARGBScaleDownBy2_Box-run_times 72.442
libyuv-ARGBScaleDownBy2_Linear-run_times -1.31
libyuv-ARGBScaleDownBy2_None-run_times 67.661
libyuv-ARGBScaleDownBy3by4_Bilinear-run_times -1.816
libyuv-ARGBScaleDownBy3by4_Box-run_times -1.731
libyuv-ARGBScaleDownBy3by4_Linear-run_times -3.43
libyuv-ARGBScaleDownBy4_Box-run_times 73.035
libyuv-ColourI420-run_times -2.784
libyuv-ColourI422-run_times -4.018
libyuv-ColourJ420-run_times -2.776
libyuv-ColourJ422-run_times -2.562
libyuv-NV12ToI420-run_times 401.656
libyuv-NV21ToI420-run_times 367.548
libyuv-UVScaleDownBy2_Box-run_times -2.198
libyuv-UVScaleDownBy2_Linear-run_times -1.3
libyuv-UVScaleDownBy3by4_Box-run_times -0.959
libyuv-UVScaleDownBy3by4_None-run_times -1.036
```
https://github.com/llvm/llvm-project/pull/146864
More information about the llvm-commits
mailing list