Image Benchmark Results
RGB image augmentation throughput (images/second) from the published benchmark artifacts. The DataLoader table compares every published DataLoader variant side by side; the micro benchmark isolates individual transforms.
Pairwise Summary
Generated automatically from published benchmark JSON at build time (median speedup midpoint with IQR).
DataLoader Pipeline
AlbumentationsX vs Kornia
Wins: 50 / 51 · Median: 3.05x · IQR: 2.76x-3.88x
AlbumentationsX vs Pillow
Wins: 26 / 26 · Median: 1.41x · IQR: 1.35x-1.70x
AlbumentationsX vs Torchvision
Wins: 26 / 26 · Median: 1.40x · IQR: 1.29x-1.83x
Micro Benchmark
AlbumentationsX vs Kornia
Wins: 51 / 51 · Median: 9.10x · IQR: 4.61x-17.06x
AlbumentationsX vs Pillow
Wins: 23 / 24 · Median: 4.56x · IQR: 3.01x-7.69x
AlbumentationsX vs Torchvision
Wins: 26 / 26 · Median: 5.61x · IQR: 3.78x-12.01x
DataLoader Pipeline Results
DataLoader benchmark with 8 workers and batch size 256. Each row is a training-style pipeline that includes crop, normalization, tensor conversion, batching, and collation. The table shows the variable transform name only. CPU/GPU memory runs are shown where published artifacts exist; DALI is a GPU run that includes JPEG decode from disk.
Speedup Distribution
How many transforms fall into each speedup range (Albumentationsx vs best competitor). 57 transforms with head-to-head comparison.
DataLoader Table
Click any column header to sort
| Transform | Speedup Albx / best | AlbumentationsX CPU · 2.2.6 | Kornia CPU · 0.8.2 | Kornia GPU · 0.8.2 | Pillow CPU · 12.2.0 | Torchvision CPU · 0.26.0 | Torchvision GPU · 0.26.0 | DALI GPU + decode · 2.1.0 |
|---|---|---|---|---|---|---|---|---|
| MedianBlur | 12x | 4038 ± 0 | 89 ± 0 | 327 ± 2 | 167 ± 0 | — | — | — |
| Elastic | 9.0-9.2x | 2878 ± 0 | 103 ± 0 | 316 ± 2 | — | 234 ± 0 | 118 ± 0 | — |
| PlasmaBrightness | 4.7-5.1x | 2727 ± 0 | 458 ± 0 | 562 ± 22 | — | — | — | — |
| PlasmaContrast | 4.1x | 2291 ± 0 | 455 ± 0 | 557 ± 2 | — | — | — | — |
| MotionBlur | 3.9x | 4785 ± 0 | 1238 ± 0 | 657 ± 2 | — | — | — | — |
| Snow | 3.8x | 4135 ± 0 | 1102 ± 0 | 596 ± 3 | — | — | — | — |
| PhotoMetricDistort | 3.5x | 4269 ± 0 | — | — | — | 1234 ± 0 | 580 ± 2 | — |
| RandomGamma | 3.4x | 5450 ± 0 | 1624 ± 0 | 653 ± 5 | — | — | — | — |
| RandomRotate90 | 3.3x | 5087 ± 0 | 1520 ± 0 | 632 ± 8 | — | — | — | — |
| ChannelDropout | 3.0x | 5314 ± 0 | 1742 ± 0 | 660 ± 3 | — | — | — | — |
| PlasmaShadow | 2.9x | 2797 ± 0 | 956 ± 0 | 612 ± 22 | — | — | — | — |
| RandomJigsaw | 2.9x | 4863 ± 0 | 1664 ± 0 | 636 ± 2 | — | — | — | — |
| PlankianJitter | 2.8x | 4979 ± 0 | 1763 ± 0 | 654 ± 8 | — | — | — | — |
| RGBShift | 2.8x | 4977 ± 0 | 1770 ± 0 | 658 ± 3 | — | — | — | — |
| Rain | 2.7x | 4198 ± 0 | 1541 ± 0 | 306 ± 2 | — | — | — | — |
| CornerIllumination | 2.6x | 3969 ± 0 | 1502 ± 0 | 395 ± 2 | — | — | — | — |
| GaussianIllumination | 2.5x | 3656 ± 0 | 1458 ± 0 | — | — | — | — | — |
| OpticalDistortion | 2.5x | 3579 ± 0 | 1445 ± 0 | 641 ± 6 | — | — | — | — |
| SmallestMaxSize | 2.5x | 1370 ± 0 | 555 ± 0 | 179 ± 0 | — | — | — | — |
| LongestMaxSize | 2.4x | 1363 ± 0 | 560 ± 0 | 179 ± 0 | — | — | — | — |
| LinearIllumination | 2.4x | 4179 ± 0 | 1726 ± 0 | 503 ± 2 | — | — | — | — |
| UnsharpMask | 2.2x | 4635 ± 0 | — | — | 2129 ± 0 | — | — | — |
| Sharpen | 2.1-2.2x | 4978 ± 0 | 1267 ± 0 | 627 ± 5 | — | 1899 ± 0 | 2304 ± 13 | — |
| EnhanceEdge | 1.8x | 4923 ± 0 | — | — | 2688 ± 0 | — | — | — |
| EnhanceDetail | 1.7x | 5033 ± 0 | — | — | 2922 ± 0 | — | — | — |
| Blur | 1.7x | 5507 ± 0 | 1321 ± 0 | 651 ± 2 | 3326 ± 0 | — | — | — |
| Perspective | 1.6x | 4132 ± 0 | 1325 ± 0 | 635 ± 1 | — | 2640 ± 0 | 792 ± 4 | — |
| Contrast | 1.4-1.5x | 5435 ± 0 | 1829 ± 0 | 649 ± 5 | 3244 ± 0 | 3313 ± 0 | 2282 ± 15 | 3759 ± 73 |
| Brightness | 1.4x | 5310 ± 0 | 1832 ± 0 | 651 ± 5 | 3551 ± 0 | 3888 ± 0 | 3097 ± 16 | 3798 ± 34 |
| GaussianBlur | 1.3-1.4x | 5029 ± 0 | 1289 ± 0 | 650 ± 5 | 2474 ± 0 | 2654 ± 0 | 1957 ± 14 | 3701 ± 84 |
| Erasing | 1.3x | 5415 ± 0 | 1522 ± 0 | 503 ± 2 | — | 4068 ± 0 | 2150 ± 27 | 3791 ± 45 |
| Solarize | 1.3x | 5407 ± 0 | 1609 ± 0 | 644 ± 2 | 3890 ± 0 | 3569 ± 0 | 4130 ± 90 | — |
| Transpose | 1.3x | 5338 ± 0 | — | — | 4081 ± 0 | — | — | — |
| AutoContrast | 1.3x | 4646 ± 0 | 1721 ± 0 | 651 ± 4 | 3577 ± 0 | 2424 ± 0 | 2562 ± 78 | — |
| Grayscale | 1.3x | 5378 ± 0 | 1845 ± 0 | 655 ± 2 | 3984 ± 0 | 4188 ± 0 | 3960 ± 122 | — |
| Hue | 1.2x | 4723 ± 0 | 1144 ± 0 | 586 ± 6 | — | — | — | 3784 ± 5 |
| Saturation | 1.2x | 4646 ± 0 | 1141 ± 0 | 587 ± 4 | 3436 ± 0 | — | — | 3792 ± 30 |
| RandomResizedCrop | 1.2-1.3x | 5056 ± 0 | 1659 ± 0 | 905 ± 7 | 2961 ± 0 | 3870 ± 0 | 4140 ± 182 | 3898 ± 103 |
| Rotate | 1.2x | 4865 ± 0 | 1488 ± 0 | 642 ± 5 | 3981 ± 0 | 3141 ± 0 | 1273 ± 8 | 3809 ± 63 |
| ChannelShuffle | 1.2x | 5467 ± 0 | 1739 ± 0 | 643 ± 2 | — | 4543 ± 0 | 3631 ± 51 | — |
| Affine | 1.2x | 4528 ± 0 | 1566 ± 0 | 646 ± 2 | 2902 ± 0 | 3175 ± 0 | 1221 ± 4 | 3806 ± 80 |
| Equalize | 1.2x | 4511 ± 0 | 1344 ± 0 | 321 ± 0 | 3528 ± 0 | 3062 ± 0 | 1518 ± 5 | 3824 ± 50 |
| SaltAndPepper | 1.2x | 4508 ± 0 | 1462 ± 0 | 375 ± 11 | — | — | — | 3824 ± 76 |
| Posterize | 1.1-1.2x | 5431 ± 0 | 1660 ± 0 | 562 ± 3 | 3897 ± 0 | 4126 ± 0 | 4726 ± 73 | — |
| Invert | 1.1-1.2x | 5569 ± 0 | 1898 ± 0 | 659 ± 3 | 3890 ± 0 | 4065 ± 0 | 4868 ± 104 | — |
| ColorJiggle | 1.1x | 4255 ± 0 | 800 ± 0 | 529 ± 2 | — | 1267 ± 0 | 626 ± 3 | 3742 ± 34 |
| JpegCompression | 1.1x | 4267 ± 0 | 771 ± 0 | 590 ± 2 | 3140 ± 0 | 3447 ± 0 | — | 3786 ± 24 |
| ColorJitter | 1.1-1.2x | 4299 ± 0 | 987 ± 0 | 573 ± 3 | — | 1263 ± 0 | 629 ± 3 | 3818 ± 100 |
| Shear | 1.1x | 4141 ± 0 | 1557 ± 0 | — | 2621 ± 0 | — | — | 3772 ± 54 |
| VerticalFlip | 1.1x | 5512 ± 0 | 1887 ± 0 | 669 ± 2 | 4078 ± 0 | 4008 ± 0 | 5020 ± 58 | 3766 ± 118 |
| Pad | 1.1x | 4996 ± 0 | — | — | 3603 ± 0 | 4162 ± 0 | 4634 ± 36 | 3756 ± 78 |
| HorizontalFlip | 1.0x | 5002 ± 0 | 1819 ± 0 | 670 ± 2 | 4074 ± 0 | 4024 ± 0 | 5050 ± 58 | 3722 ± 76 |
| CLAHE | 0.9-1.0x | 3505 ± 0 | 789 ± 0 | 165 ± 0 | — | — | — | 3731 ± 140 |
| ThinPlateSpline | 0.9x | 743 ± 0 | 793 ± 0 | 598 ± 2 | — | — | — | — |
| GaussianNoise | 0.9x | 3415 ± 0 | 1634 ± 0 | 660 ± 7 | — | — | — | 3820 ± 60 |
| RandomCrop224 | 0.8x | 5130 ± 0 | 1856 ± 0 | 959 ± 9 | 4034 ± 0 | 4367 ± 0 | 6253 ± 97 | 3589 ± 73 |
| Resize | 0.4x | 1350 ± 0 | 538 ± 0 | 181 ± 0 | ≤20 | 1235 ± 0 | 2829 ± 98 | 3523 ± 61 |
Micro Benchmark Results
Single-operation CPU benchmark for individual RGB transforms. This isolates augmentation cost from DataLoader batching and collation overhead.
Speedup Distribution
How many transforms fall into each speedup range (Albumentationsx vs best competitor). 57 transforms with head-to-head comparison.
Micro Table
Click any column header to sort · Transform names link to interactive demos
| Transform | Speedup Albx / best | albumentationsx 2.2.6 | kornia 0.8.2 | pillow 12.2.0 | torchvision 0.26.0 |
|---|---|---|---|---|---|
| MedianBlur | ≥42x | 843 ± 4 | ≤20 | ≤20 | — |
| RandomGamma | 32-33x | 9938 ± 46 | 308 ± 2 | — | — |
| MotionBlur | 24-25x | 1953 ± 21 | 81 ± 1 | — | — |
| RandomJigsaw | 23-24x | 5172 ± 16 | 219 ± 2 | — | — |
| Sharpen | 18-19x | 1388 ± 5 | 58 ± 0 | — | 75 ± 0 |
| RandomRotate90 | 18x | 5990 ± 85 | 333 ± 4 | — | — |
| Hue | 15x | 967 ± 1 | 66 ± 0 | — | — |
| GaussianBlur | 14x | 2343 ± 4 | 57 ± 0 | 169 ± 1 | 86 ± 0 |
| ColorJiggle | 13-14x | 639 ± 5 | 34 ± 0 | — | 47 ± 0 |
| PlasmaBrightness | ≥13x | 267 ± 1 | ≤20 | — | — |
| PhotoMetricDistort | 13x | 581 ± 4 | — | — | 45 ± 0 |
| ColorJitter | 12-13x | 641 ± 1 | 52 ± 1 | — | 47 ± 0 |
| Blur | 11x | 4449 ± 17 | 57 ± 0 | 409 ± 3 | — |
| Elastic | ≥9.5x | 191 ± 0 | ≤20 | — | ≤20 |
| SmallestMaxSize | 9.3-9.6x | 2017 ± 25 | 214 ± 1 | — | — |
| Contrast | 8.8-9.1x | 6933 ± 30 | 771 ± 9 | 443 ± 1 | 475 ± 7 |
| Brightness | 8.4-8.8x | 6912 ± 13 | 766 ± 7 | 609 ± 4 | 804 ± 15 |
| LongestMaxSize | 8.4-8.7x | 2825 ± 42 | 330 ± 1 | — | — |
| ChannelDropout | 8.1-8.4x | 6810 ± 65 | 828 ± 6 | — | — |
| PlasmaShadow | 7.9-8.0x | 420 ± 3 | 53 ± 0 | — | — |
| Snow | 7.8-7.9x | 489 ± 3 | 62 ± 0 | — | — |
| EnhanceDetail | 7.7-7.9x | 2148 ± 13 | — | 275 ± 1 | — |
| PlasmaContrast | ≥7.1x | 143 ± 0 | ≤20 | — | — |
| UnsharpMask | 6.7-6.8x | 906 ± 2 | — | 134 ± 0 | — |
| EnhanceEdge | 6.2-6.4x | 1373 ± 16 | — | 219 ± 0 | — |
| Invert | 5.4-6.1x | 15095 ± 61 | 1015 ± 2 | 1974 ± 26 | 2619 ± 152 |
| Posterize | 5.2-5.9x | 14399 ± 58 | 290 ± 9 | 1977 ± 7 | 2598 ± 137 |
| Erasing | 4.9-5.3x | 9511 ± 74 | 298 ± 1 | — | 1872 ± 71 |
| Solarize | 4.9-5.0x | 9760 ± 34 | 214 ± 1 | 1966 ± 6 | 545 ± 10 |
| SaltAndPepper | 4.7-4.9x | 738 ± 10 | 154 ± 1 | — | — |
| GaussianNoise | 4.6x | 225 ± 0 | 49 ± 0 | — | — |
| RandomCrop224 | 3.9-5.3x | 38380 ± 192 | 981 ± 5 | — | 8492 ± 1207 |
| CLAHE | 4.6x | 283 ± 1 | 62 ± 0 | — | — |
| Pad | 4.1-4.2x | 13181 ± 118 | — | 3167 ± 37 | 2420 ± 122 |
| PlankianJitter | 3.8-3.9x | 2253 ± 17 | 580 ± 2 | — | — |
| RGBShift | 3.8-3.9x | 2292 ± 3 | 597 ± 3 | — | — |
| VerticalFlip | 3.8-3.9x | 14051 ± 55 | 1067 ± 2 | 3670 ± 21 | 2490 ± 149 |
| Grayscale | 3.2-3.3x | 5194 ± 1 | 418 ± 1 | 1591 ± 15 | 1198 ± 32 |
| HorizontalFlip | 3.2-3.3x | 8416 ± 19 | 920 ± 10 | 2612 ± 21 | 1999 ± 82 |
| Perspective | 2.7-2.8x | 559 ± 2 | 181 ± 1 | — | 202 ± 2 |
| CornerIllumination | 2.7x | 425 ± 2 | 157 ± 0 | — | — |
| RandomResizedCrop | 2.4-2.7x | 7150 ± 19 | 622 ± 3 | — | 2823 ± 172 |
| Resize | 2.4-2.6x | 2463 ± 37 | 271 ± 1 | 396 ± 4 | 979 ± 23 |
| Transpose | 2.3-2.4x | 4627 ± 26 | — | 1934 ± 35 | — |
| Rain | 2.4x | 1259 ± 2 | 527 ± 5 | — | — |
| ChannelShuffle | 2.2-2.4x | 4337 ± 13 | 487 ± 2 | — | 1866 ± 72 |
| Affine | 2.1-2.2x | 872 ± 8 | 402 ± 3 | 264 ± 2 | 240 ± 1 |
| GaussianIllumination | 2.1x | 388 ± 1 | 188 ± 0 | — | — |
| Shear | 1.9-2.0x | 784 ± 6 | 403 ± 1 | 217 ± 0 | — |
| Saturation | 1.7x | 847 ± 17 | 67 ± 0 | 500 ± 3 | — |
| LinearIllumination | 1.6x | 521 ± 1 | 327 ± 3 | — | — |
| ThinPlateSpline | 1.4x | 52 ± 0 | 36 ± 0 | — | — |
| AutoContrast | 1.4x | 1243 ± 19 | 231 ± 1 | 899 ± 4 | 159 ± 0 |
| OpticalDistortion | 1.4x | 274 ± 1 | 201 ± 1 | — | — |
| Rotate | 1.3-1.4x | 1408 ± 40 | 325 ± 2 | 1045 ± 13 | 223 ± 1 |
| JpegCompression | 1.3-1.4x | 692 ± 7 | 43 ± 0 | 515 ± 1 | 512 ± 4 |
| Equalize | 0.9x | 807 ± 3 | 128 ± 0 | 882 ± 12 | 313 ± 1 |
Methodology
Test Environment
- Platform
- macOS arm64 (Apple M-series)
- CPU threads
- 1 (forced single-thread)
- Images per run
- 2000
- Runs per transform
- 3
- Last run
- May 3, 2026
Library Versions
- Albumentationsx
- 2.2.6
- Kornia
- 0.8.2
- Pillow
- 12.2.0
- Torchvision
- 0.26.0
- NumPy
- 2.4.4
- OpenCV
- 4.13.0.92
Metric: Median throughput in images/second across 3 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 images for Pillow and Torchvision.
Speedup column: Range computed from throughput error bars: speedup_from to speedup_to, where each bound uses median +/- std. Green = 2x+ conservative bound, yellow = 1x-2x, gray = 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.