Image Benchmark Results
Single-threaded CPU benchmark comparing image augmentation throughput (images/second). All libraries run under identical conditions on the same machine.
Speedup Distribution
How many transforms fall into each speedup range (Albumentationsx vs best competitor). 52 transforms with head-to-head comparison.
Results
Click any column header to sort · Transform names link to interactive demos
| Transform | albumentationsx 2.0.18 CPU · macOS arm64 | kornia 0.8.2 CPU · macOS arm64 | torchvision 0.25.0 CPU · macOS arm64 | Speedup Albx / best other |
|---|---|---|---|---|
| MedianBlur | 1533 ± 9 | 6 ± 0 | — | 261x |
| Elastic | 362 ± 3 | 1 ± 0 | 3 ± 0 | 105x |
| RandomGamma | 13280 ± 1279 | 226 ± 5 | — | 59x |
| MotionBlur | 4385 ± 110 | 117 ± 6 | — | 38x |
| Blur | 7592 ± 285 | 365 ± 8 | — | 21x |
| Hue | 1917 ± 31 | 123 ± 7 | — | 16x |
| PhotoMetricDistort | 943 ± 18 | — | 80 ± 3 | 12x |
| Solarize | 12811 ± 785 | 262 ± 3 | 1117 ± 35 | 11x |
| ColorJitter | 1132 ± 23 | 100 ± 3 | 88 ± 3 | 11x |
| Pad | 47542 ± 820 | — | 4480 ± 129 | 11x |
| Saturation | 1328 ± 45 | 132 ± 4 | — | 10x |
| Grayscale | 20430 ± 2245 | 1574 ± 77 | 2206 ± 179 | 9.3x |
| Rotate | 2981 ± 11 | 330 ± 7 | 319 ± 8 | 9.0x |
| Sharpen | 2251 ± 15 | 263 ± 14 | 274 ± 9 | 8.2x |
| LongestMaxSize | 3840 ± 68 | 481 ± 36 | — | 8.0x |
| SmallestMaxSize | 2621 ± 31 | 375 ± 10 | — | 7.0x |
| GaussianBlur | 2429 ± 9 | 353 ± 13 | 124 ± 17 | 6.9x |
| Contrast | 14165 ± 104 | 2159 ± 193 | 870 ± 26 | 6.6x |
| HorizontalFlip | 13654 ± 353 | 1128 ± 42 | 2234 ± 27 | 6.1x |
| CLAHE | 633 ± 3 | 109 ± 2 | — | 5.8x |
| Brightness | 12784 ± 1017 | 2276 ± 169 | 1681 ± 21 | 5.6x |
| Snow | 723 ± 5 | 129 ± 4 | — | 5.6x |
| RandomResizedCrop | 4322 ± 9 | 579 ± 6 | 789 ± 27 | 5.5x |
| Resize | 3502 ± 52 | 648 ± 15 | 271 ± 4 | 5.4x |
| Affine | 1428 ± 2 | — | 264 ± 16 | 5.4x |
| Perspective | 1173 ± 3 | 170 ± 5 | 217 ± 8 | 5.4x |
| OpticalDistortion | 801 ± 2 | 193 ± 4 | — | 4.1x |
| ChannelDropout | 12420 ± 866 | 3065 ± 179 | — | 4.1x |
| Shear | 1290 ± 9 | 358 ± 11 | — | 3.6x |
| AutoContrast | 1666 ± 15 | 576 ± 18 | 178 ± 2 | 2.9x |
| GaussianNoise | 343 ± 4 | 121 ± 2 | — | 2.8x |
| Erasing | 26411 ± 4926 | 776 ± 45 | 10421 ± 629 | 2.5x |
| PlasmaBrightness | 170 ± 8 | 76 ± 2 | — | 2.2x |
| Equalize | 1243 ± 6 | 310 ± 17 | 588 ± 17 | 2.1x |
| PlasmaContrast | 156 ± 2 | 75 ± 6 | — | 2.1x |
| PlankianJitter | 3138 ± 69 | 1578 ± 100 | — | 2.0x |
| ChannelShuffle | 8075 ± 291 | 1446 ± 115 | 4290 ± 303 | 1.9x |
| GaussianIllumination | 772 ± 17 | 428 ± 16 | — | 1.8x |
| JpegCompression | 1321 ± 9 | 117 ± 5 | 826 ± 11 | 1.6x |
| ThinPlateSpline | 89 ± 2 | 61 ± 2 | — | 1.5x |
| Invert | 32495 ± 6354 | 4412 ± 293 | 22891 ± 2484 | 1.4x |
| Normalize | 1602 ± 9 | 1173 ± 39 | 947 ± 33 | 1.4x |
| SaltAndPepper | 613 ± 4 | 450 ± 5 | — | 1.4x |
| CornerIllumination | 468 ± 11 | 350 ± 4 | — | 1.3x |
| Rain | 2064 ± 15 | 1591 ± 61 | — | 1.3x |
| RGBShift | 2252 ± 23 | 1787 ± 71 | — | 1.3x |
| VerticalFlip | 31055 ± 325 | 2387 ± 58 | 26928 ± 4799 | 1.2x |
| RandomCrop128 | 113953 ± 2731 | 2802 ± 40 | 112838 ± 2384 | 1.0x |
| PlasmaShadow | 196 ± 2 | 211 ± 5 | — | 0.9x |
| Posterize | 13203 ± 680 | 709 ± 27 | 17723 ± 1380 | 0.7x |
| LinearIllumination | 485 ± 9 | 849 ± 22 | — | 0.6x |
| CenterCrop128 | 115895 ± 4274 | — | 203348 ± 7429 | 0.6x |
| CoarseDropout | 23025 ± 2717 | — | — | — |
| HSV | 1166 ± 20 | — | — | — |
Methodology
Test Environment
- Platform
- macOS arm64 (Apple M-series)
- CPU threads
- 1 (forced single-thread)
- Images per run
- 2000
- Runs per transform
- 5
- Last run
- February 26, 2026
Library Versions
- Albumentationsx
- 2.0.18
- Kornia
- 0.8.2
- Torchvision
- 0.25.0
- NumPy
- 2.4.2
- OpenCV
- 4.13.0.92
Metric: Median throughput in images/second across 5 runs. Higher is better.
Warmup: Adaptive warmup until variance stabilizes before measurement begins.
Thread control: OMP, OpenBLAS, MKL, and OpenCV threads all forced to 1 to ensure fair single-thread comparison.
Image loading: Each library uses its native format — OpenCV (BGR→RGB) for Albumentationsx, normalized tensors for Kornia, PIL for Torchvision.
Speedup column: Albumentationsx median ÷ highest competitor median. Green = 2× or faster, yellow = 1–2×, red = slower.
Want to verify the results on your own hardware or check that the comparison is fair? The benchmark code is open source on GitHub.