Video Benchmark Results
Throughput in videos/second across video augmentation transforms. Higher is better.
CPU vs GPU — different hardware, different trade-offs
Albumentationsx runs on a single CPU thread (Apple M-series, macOS). Kornia and Torchvision run on a NVIDIA GeForce RTX 4090 with GPU-accelerated PyTorch tensors.
GPU libraries have a significant hardware advantage for throughput-heavy operations — this is expected and reflects real-world trade-offs. Use Albumentationsx when a GPU is unavailable, for transforms where it leads, or when low latency per frame matters more than raw batch throughput.
Speedup Distribution
How many transforms fall into each speedup range (Albumentationsx vs best competitor). 43 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.0 NVIDIA GeForce RTX 4090 | torchvision 0.21.0 NVIDIA GeForce RTX 4090 | Speedup Albx / best other |
|---|---|---|---|---|
| Rain | 25 ± 0.7 | 3.8 ± 0.0 | — | 6.6x |
| RandomGamma | 66 ± 2.6 | 22 ± 0.0 | — | 3.0x |
| ChannelDropout | 63 ± 3.4 | 22 ± 0.0 | — | 2.9x |
| Blur | 49 ± 2.3 | 21 ± 0.1 | — | 2.4x |
| PlankianJitter | 26 ± 1.1 | 11 ± 0.0 | — | 2.4x |
| MedianBlur | 18 ± 0.1 | 8.4 ± 0.1 | — | 2.2x |
| CornerIllumination | 4.9 ± 0.2 | 2.6 ± 0.1 | — | 1.9x |
| LinearIllumination | 5.0 ± 0.2 | 4.3 ± 0.2 | — | 1.2x |
| RGBShift | 25 ± 0.9 | 22 ± 0.0 | — | 1.1x |
| SaltAndPepper | 9.5 ± 0.2 | 8.8 ± 0.1 | — | 1.1x |
| Hue | 12 ± 0.9 | 20 ± 0.0 | — | 0.6x |
| CenterCrop128 | 586 ± 7.9 | 70 ± 1.3 | 1133 ± 235 | 0.5x |
| RandomCrop128 | 529 ± 15 | 65 ± 0.4 | 1133 ± 15 | 0.5x |
| GaussianIllumination | 6.2 ± 0.5 | 20 ± 0.1 | — | 0.3x |
| Erasing | 70 ± 3.7 | — | 255 ± 6.6 | 0.3x |
| Saturation | 10 ± 0.8 | 37 ± 0.1 | — | 0.3x |
| ColorJitter | 13 ± 0.4 | 19 ± 0.0 | 69 ± 0.1 | 0.2x |
| GaussianNoise | 3.7 ± 0.1 | 22 ± 0.1 | — | 0.2x |
| Posterize | 69 ± 12 | — | 631 ± 15 | 0.1x |
| Resize | 14 ± 1.0 | 5.9 ± 0.0 | 140 ± 35 | 0.1x |
| Contrast | 55 ± 3.6 | 22 ± 0.0 | 547 ± 13 | 0.1x |
| Invert | 82 ± 4.1 | 22 ± 0.2 | 843 ± 176 | 0.1x |
| Solarize | 60 ± 1.1 | 21 ± 0.0 | 628 ± 5.9 | 0.1x |
| Grayscale | 73 ± 14 | 22 ± 0.0 | 838 ± 467 | 0.1x |
| PlasmaShadow | 1.6 ± 0.0 | 19 ± 0.5 | — | 0.1x |
| RandomResizedCrop | 15 ± 0.3 | 6.3 ± 0.0 | 182 ± 16 | 0.1x |
| Pad | 59 ± 3.1 | — | 760 ± 338 | 0.1x |
| PlasmaBrightness | 1.2 ± 0.2 | 17 ± 0.4 | — | 0.1x |
| Brightness | 55 ± 2.8 | 22 ± 0.0 | 756 ± 435 | 0.1x |
| VerticalFlip | 66 ± 2.6 | 22 ± 0.2 | 978 ± 5.2 | 0.1x |
| PlasmaContrast | 1.1 ± 0.1 | 17 ± 0.0 | — | 0.1x |
| Sharpen | 26 ± 0.4 | 18 ± 0.0 | 420 ± 9.0 | 0.1x |
| ChannelShuffle | 56 ± 2.5 | 20 ± 0.0 | 958 ± 0.2 | 0.1x |
| Equalize | 11 ± 0.4 | 4.2 ± 0.0 | 192 ± 1.2 | 0.1x |
| HorizontalFlip | 55 ± 1.1 | 22 ± 0.1 | 978 ± 49 | 0.1x |
| GaussianBlur | 28 ± 0.3 | 22 ± 0.1 | 543 ± 11 | 0.1x |
| Elastic | 5.7 ± 0.1 | — | 127 ± 1.3 | 0.0x |
| Rotate | 23 ± 1.1 | 22 ± 0.1 | 534 ± 0.2 | 0.0x |
| Affine | 16 ± 1.0 | 21 ± 0.0 | 453 ± 0.1 | 0.0x |
| Perspective | 15 ± 0.6 | — | 435 ± 0.1 | 0.0x |
| Normalize | 15 ± 0.6 | 22 ± 0.0 | 461 ± 0.2 | 0.0x |
| ThinPlateSpline | 1.3 ± 0.1 | 45 ± 0.7 | — | 0.0x |
| AutoContrast | 16 ± 0.3 | 21 ± 0.0 | 578 ± 17 | 0.0x |
| CLAHE | 8.6 ± 0.2 | — | — | — |
| CoarseDropout | 56 ± 1.8 | — | — | — |
| HSV | 6.2 ± 0.4 | — | — | — |
| JpegCompression | 21 ± 0.5 | — | — | — |
| LongestMaxSize | 18 ± 0.8 | — | — | — |
| MotionBlur | 35 ± 1.5 | — | — | — |
| OpticalDistortion | 11 ± 0.3 | — | — | — |
| PhotoMetricDistort | 12 ± 0.3 | — | — | — |
| Shear | 17 ± 0.5 | — | — | — |
| SmallestMaxSize | 12 ± 0.1 | — | — | — |
| Snow | 8.5 ± 0.4 | — | — | — |
Methodology
Test Environment
- Albumentationsx
- macOS arm64, 1 CPU thread
- Kornia / Torchvision
- NVIDIA GeForce RTX 4090, Linux x86_64
- Videos per run
- 50
- Runs per transform
- 5
- Dataset
- UCF101
- Last run
- March 11, 2025
Library Versions
- Albumentationsx
- 2.0.18
- Kornia
- 0.8.0
- Torchvision
- 0.21.0
- PyTorch (GPU libs)
- 2.6.0
- Precision
- torch.float16
Metric: Median throughput in videos/second across 5 runs. Higher is better.
Video loading: OpenCV for Albumentationsx; PyTorch GPU tensors (float16) for Kornia and Torchvision.
Speedup column: Albumentationsx CPU median ÷ highest GPU competitor median. Red values reflect the GPU hardware advantage, not a limitation of the library.
Want to verify the results on your own hardware or check that the comparison is fair? The benchmark code is open source on GitHub.