Updated benchmark results for Arm64

This commit is contained in:
Kirill Kuzminykh
2025-05-16 16:08:57 +03:00
parent e7a2cc5d1a
commit 0951556b22
+51 -51
View File
@@ -5,15 +5,15 @@
Environment:
- CPU: Neoverse-N1 2GHz (Oracle Cloud Compute, VM.Standard.A1.Flex)
- Ubuntu 24.04 (linux 6.8.0)
- Rust 1.81.0
- Ubuntu 24.04 (linux 6.11.0)
- Rust 1.87.0
- criterion = "0.5.1"
- fast_image_resize = "5.0.0"
- fast_image_resize = "5.1.4"
Other libraries used to compare of resizing speed:
- image = "0.25.2" (<https://crates.io/crates/image>)
- resize = "0.8.7" (<https://crates.io/crates/resize>, single-threaded mode)
- image = "0.25.6" (<https://crates.io/crates/image>)
- resize = "0.8.8" (<https://crates.io/crates/resize>, single-threaded mode)
- libvips = "8.15.1" (single-threaded mode)
Resize algorithms:
@@ -39,11 +39,11 @@ Pipeline:
| | Nearest | Box | Bilinear | Bicubic | Lanczos3 |
|----------|:-------:|:------:|:--------:|:-------:|:--------:|
| image | 87.29 | - | 161.50 | 300.01 | 422.03 |
| resize | 18.40 | 58.24 | 103.05 | 187.60 | 276.63 |
| libvips | 10.09 | 139.03 | 27.55 | 66.93 | 88.63 |
| fir rust | 0.87 | 20.90 | 34.27 | 84.19 | 109.98 |
| fir neon | 0.87 | 18.68 | 27.25 | 49.81 | 73.35 |
| image | 83.12 | - | 170.54 | 305.90 | 433.80 |
| resize | 30.38 | 59.92 | 101.62 | 183.87 | 273.82 |
| libvips | 9.59 | 137.52 | 26.91 | 66.06 | 88.65 |
| fir rust | 0.92 | 19.25 | 32.19 | 82.86 | 110.04 |
| fir neon | 0.92 | 16.46 | 23.75 | 42.43 | 62.16 |
<!-- bench_compare_rgb end -->
@@ -62,10 +62,10 @@ Pipeline:
| | Nearest | Box | Bilinear | Bicubic | Lanczos3 |
|----------|:-------:|:------:|:--------:|:-------:|:--------:|
| resize | 21.06 | 74.75 | 116.24 | 197.20 | 294.64 |
| libvips | 12.78 | 324.80 | 230.82 | 453.35 | 568.10 |
| fir rust | 0.92 | 47.50 | 59.95 | 129.03 | 166.45 |
| fir neon | 0.92 | 35.02 | 49.27 | 77.35 | 105.99 |
| resize | 20.69 | 73.58 | 113.62 | 195.21 | 291.60 |
| libvips | 13.87 | 326.93 | 234.51 | 471.17 | 599.71 |
| fir rust | 0.92 | 44.76 | 58.95 | 126.45 | 165.50 |
| fir neon | 0.92 | 29.08 | 40.81 | 64.57 | 90.29 |
<!-- bench_compare_rgba end -->
@@ -83,11 +83,11 @@ Pipeline:
| | Nearest | Box | Bilinear | Bicubic | Lanczos3 |
|----------|:-------:|:-----:|:--------:|:-------:|:--------:|
| image | 78.41 | - | 104.80 | 174.66 | 240.78 |
| resize | 10.63 | 27.45 | 40.33 | 63.03 | 92.52 |
| libvips | 5.70 | 51.73 | 14.50 | 24.28 | 30.84 |
| fir rust | 0.50 | 8.24 | 11.40 | 19.10 | 26.72 |
| fir neon | 0.50 | 5.49 | 8.92 | 16.09 | 24.49 |
| image | 78.35 | - | 119.04 | 186.56 | 258.32 |
| resize | 11.31 | 26.78 | 40.38 | 70.32 | 93.02 |
| libvips | 5.68 | 51.41 | 14.45 | 24.51 | 31.19 |
| fir rust | 0.48 | 9.30 | 10.73 | 18.47 | 25.09 |
| fir neon | 0.48 | 4.92 | 7.48 | 13.16 | 20.15 |
<!-- bench_compare_l end -->
@@ -108,9 +108,9 @@ Pipeline:
| | Nearest | Box | Bilinear | Bicubic | Lanczos3 |
|----------|:-------:|:------:|:--------:|:-------:|:--------:|
| libvips | 8.59 | 185.59 | 132.47 | 229.07 | 288.92 |
| fir rust | 0.66 | 35.15 | 44.12 | 58.62 | 70.41 |
| fir neon | 0.66 | 17.61 | 23.13 | 37.96 | 52.88 |
| libvips | 8.81 | 188.05 | 134.45 | 231.87 | 290.01 |
| fir rust | 0.66 | 18.79 | 25.40 | 43.31 | 55.68 |
| fir neon | 0.66 | 16.88 | 21.07 | 32.55 | 44.99 |
<!-- bench_compare_la end -->
@@ -128,11 +128,11 @@ Pipeline:
| | Nearest | Box | Bilinear | Bicubic | Lanczos3 |
|----------|:-------:|:------:|:--------:|:-------:|:--------:|
| image | 89.59 | - | 161.49 | 329.96 | 478.48 |
| resize | 20.19 | 58.37 | 99.98 | 185.89 | 272.58 |
| libvips | 24.24 | 200.90 | 111.02 | 231.86 | 311.97 |
| fir rust | 1.30 | 54.29 | 84.54 | 143.06 | 204.83 |
| fir neon | 1.30 | 51.49 | 73.47 | 114.72 | 141.26 |
| image | 82.91 | - | 173.38 | 338.57 | 493.64 |
| resize | 19.50 | 58.09 | 98.29 | 183.34 | 267.44 |
| libvips | 23.67 | 197.37 | 109.00 | 228.02 | 301.44 |
| fir rust | 1.39 | 48.64 | 76.07 | 135.93 | 191.26 |
| fir neon | 1.39 | 54.50 | 72.78 | 111.57 | 138.66 |
<!-- bench_compare_rgb16 end -->
@@ -151,10 +151,10 @@ Pipeline:
| | Nearest | Box | Bilinear | Bicubic | Lanczos3 |
|----------|:-------:|:------:|:--------:|:-------:|:--------:|
| resize | 25.53 | 78.22 | 117.14 | 211.16 | 308.86 |
| libvips | 32.82 | 324.74 | 231.14 | 460.10 | 580.86 |
| fir rust | 1.57 | 91.95 | 126.75 | 208.18 | 285.42 |
| fir neon | 1.57 | 52.53 | 74.02 | 114.79 | 157.37 |
| resize | 23.64 | 77.94 | 115.55 | 206.91 | 303.21 |
| libvips | 33.79 | 329.22 | 236.24 | 466.96 | 591.03 |
| fir rust | 1.51 | 73.59 | 108.54 | 200.42 | 267.85 |
| fir neon | 1.51 | 45.25 | 60.21 | 90.64 | 120.82 |
<!-- bench_compare_rgba16 end -->
@@ -172,11 +172,11 @@ Pipeline:
| | Nearest | Box | Bilinear | Bicubic | Lanczos3 |
|----------|:-------:|:-----:|:--------:|:-------:|:--------:|
| image | 80.33 | - | 109.18 | 182.67 | 252.40 |
| resize | 11.16 | 27.22 | 43.39 | 71.07 | 96.37 |
| libvips | 9.20 | 69.16 | 39.31 | 77.20 | 100.41 |
| fir rust | 0.67 | 24.39 | 36.16 | 59.35 | 84.09 |
| fir neon | 0.67 | 11.97 | 16.87 | 26.77 | 38.06 |
| image | 78.13 | - | 123.28 | 195.56 | 272.13 |
| resize | 11.84 | 25.06 | 38.29 | 68.43 | 95.25 |
| libvips | 9.27 | 69.76 | 38.82 | 76.85 | 100.79 |
| fir rust | 0.64 | 23.31 | 35.76 | 58.21 | 85.60 |
| fir neon | 0.64 | 11.80 | 16.48 | 26.00 | 36.87 |
<!-- bench_compare_l16 end -->
@@ -197,9 +197,9 @@ Pipeline:
| | Nearest | Box | Bilinear | Bicubic | Lanczos3 |
|----------|:-------:|:------:|:--------:|:-------:|:--------:|
| libvips | 17.31 | 200.28 | 144.61 | 241.53 | 298.13 |
| fir rust | 0.97 | 55.28 | 74.08 | 114.13 | 153.81 |
| fir neon | 0.97 | 24.97 | 34.56 | 53.88 | 75.30 |
| libvips | 18.43 | 202.03 | 145.95 | 242.56 | 302.87 |
| fir rust | 0.93 | 41.87 | 60.11 | 101.73 | 140.40 |
| fir neon | 0.93 | 24.30 | 33.30 | 52.33 | 71.84 |
<!-- bench_compare_la16 end -->
@@ -217,10 +217,10 @@ Pipeline:
| | Nearest | Box | Bilinear | Bicubic | Lanczos3 |
|----------|:-------:|:-----:|:--------:|:-------:|:--------:|
| image | 39.38 | - | 94.31 | 185.23 | 241.78 |
| resize | 11.82 | 22.48 | 31.48 | 54.70 | 81.74 |
| libvips | 8.05 | 66.37 | 39.86 | 92.17 | 120.92 |
| fir rust | 0.96 | 18.62 | 30.71 | 53.79 | 77.15 |
| image | 7.06 | - | 39.97 | 72.83 | 106.05 |
| resize | 12.14 | 23.30 | 32.60 | 55.84 | 83.37 |
| libvips | 8.20 | 67.17 | 40.19 | 90.36 | 118.79 |
| fir rust | 0.93 | 18.92 | 30.89 | 54.12 | 78.40 |
<!-- bench_compare_l32f end -->
@@ -246,8 +246,8 @@ Pipeline:
| | Nearest | Box | Bilinear | Bicubic | Lanczos3 |
|----------|:-------:|:------:|:--------:|:-------:|:--------:|
| libvips | 16.45 | 182.62 | 127.58 | 220.52 | 278.16 |
| fir rust | 1.56 | 41.75 | 66.81 | 123.14 | 168.42 |
| libvips | 16.89 | 184.38 | 129.68 | 225.33 | 283.49 |
| fir rust | 1.52 | 38.62 | 61.88 | 116.00 | 162.75 |
<!-- bench_compare_la32f end -->
@@ -265,10 +265,10 @@ Pipeline:
| | Nearest | Box | Bilinear | Bicubic | Lanczos3 |
|----------|:-------:|:------:|:--------:|:-------:|:--------:|
| image | 50.67 | - | 129.41 | 322.93 | 441.29 |
| resize | 21.65 | 36.44 | 67.62 | 135.27 | 190.02 |
| libvips | 19.82 | 200.45 | 114.77 | 278.40 | 355.69 |
| fir rust | 2.24 | 38.69 | 73.20 | 152.46 | 225.81 |
| image | 8.00 | - | 51.74 | 95.36 | 139.32 |
| resize | 19.96 | 45.73 | 69.25 | 133.08 | 190.53 |
| libvips | 19.48 | 197.65 | 114.33 | 274.50 | 354.63 |
| fir rust | 2.29 | 39.09 | 71.75 | 149.96 | 214.76 |
<!-- bench_compare_rgb32f end -->
@@ -290,7 +290,7 @@ Pipeline:
| | Nearest | Box | Bilinear | Bicubic | Lanczos3 |
|----------|:-------:|:------:|:--------:|:-------:|:--------:|
| libvips | 30.58 | 318.17 | 223.24 | 410.56 | 530.71 |
| fir rust | 3.12 | 68.42 | 112.09 | 213.48 | 316.09 |
| libvips | 32.13 | 323.66 | 230.94 | 456.97 | 587.84 |
| fir rust | 3.01 | 68.00 | 111.35 | 209.27 | 315.19 |
<!-- bench_compare_rgba32f end -->