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.

69
transforms where Albumentationsx is fastest
CPU · Apple M-series
8
transforms where Kornia is fastest
GPU · NVIDIA GeForce RTX 4090
24
transforms where Torchvision is fastest
GPU · NVIDIA GeForce RTX 4090

Pairwise Summary

Generated automatically from benchmark JSON at build time (median speedup midpoint with IQR).

Albumentationsx vs Kornia

Wins: 29 / 38 · Median: 2.35x · IQR: 1.01x-6.78x

Albumentationsx vs Torchvision

Wins: 1 / 25 · Median: 0.19x · IQR: 0.08x-0.48x

Speedup Distribution

How many transforms fall into each speedup range (Albumentationsx vs best competitor). 43 transforms with head-to-head comparison.

23< 0.5×90.5–1×31–2×32–5×45–10×110–50×> 50×

Results

Transform
albumentationsx
2.1.1
CPU · macOS arm64
kornia
0.8.0
NVIDIA GeForce RTX 4090
torchvision
0.21.0
NVIDIA GeForce RTX 4090
Speedup
Albx / best other (range)
RandomGamma238 ± 0.822 ± 0.011-11x
ChannelDropout205 ± 0.722 ± 0.09.4-9.5x
Rain27 ± 0.63.8 ± 0.07.1-7.4x
PlankianJitter59 ± 0.411 ± 0.05.4-5.5x
Blur110 ± 0.521 ± 0.15.3-5.4x
CornerIllumination10 ± 0.22.6 ± 0.13.8-4.1x
MedianBlur24 ± 0.28.4 ± 0.12.8-2.9x
LinearIllumination10 ± 0.24.3 ± 0.22.3-2.5x
Erasing458 ± 7.5255 ± 6.61.7-1.9x
SaltAndPepper12 ± 0.08.8 ± 0.11.3-1.4x
Hue26 ± 2.220 ± 0.01.2-1.4x
CenterCrop128975 ± 1370 ± 1.31133 ± 2350.7-1.1x
RandomCrop128933 ± 6.665 ± 0.41133 ± 150.8-0.8x
VerticalFlip591 ± 2022 ± 0.2978 ± 5.20.6-0.6x
Invert467 ± 2722 ± 0.2843 ± 1760.4-0.7x
Saturation19 ± 0.737 ± 0.10.5-0.5x
GaussianNoise11 ± 0.422 ± 0.10.5-0.5x
ThinPlateSpline23 ± 0.445 ± 0.70.5-0.5x
Pad302 ± 11760 ± 3380.3-0.7x
GaussianIllumination10 ± 0.220 ± 0.10.5-0.5x
Brightness241 ± 1.922 ± 0.0756 ± 4350.2-0.8x
Contrast239 ± 1.822 ± 0.0547 ± 130.4-0.5x
RGBShift9.4 ± 0.122 ± 0.00.4-0.4x
Solarize249 ± 8.921 ± 0.0628 ± 5.90.4-0.4x
Posterize240 ± 8.1631 ± 150.4-0.4x
PlasmaShadow6.8 ± 0.019 ± 0.50.3-0.4x
ColorJitter19 ± 0.919 ± 0.069 ± 0.10.3-0.3x
PlasmaBrightness4.4 ± 0.017 ± 0.40.3-0.3x
Elastic26 ± 0.3127 ± 1.30.2-0.2x
Resize26 ± 0.25.9 ± 0.0140 ± 350.1-0.2x
PlasmaContrast2.9 ± 0.017 ± 0.00.2-0.2x
RandomResizedCrop28 ± 0.56.3 ± 0.0182 ± 160.1-0.2x
Grayscale82 ± 0.322 ± 0.0838 ± 4670.1-0.2x
Rotate49 ± 0.122 ± 0.1534 ± 0.20.1-0.1x
Sharpen38 ± 0.418 ± 0.0420 ± 9.00.1-0.1x
Equalize16 ± 0.44.2 ± 0.0192 ± 1.20.1-0.1x
GaussianBlur42 ± 0.722 ± 0.1543 ± 110.1-0.1x
Affine25 ± 0.121 ± 0.0453 ± 0.10.1-0.1x
Perspective22 ± 0.1435 ± 0.10.0-0.0x
Normalize22 ± 0.322 ± 0.0461 ± 0.20.0-0.0x
AutoContrast22 ± 0.321 ± 0.0578 ± 170.0-0.0x
HorizontalFlip30 ± 0.122 ± 0.1978 ± 490.0-0.0x
ChannelShuffle26 ± 0.120 ± 0.0958 ± 0.20.0-0.0x
AdditiveNoise9.6 ± 0.1
AdvancedBlur24 ± 1.3
AtmosphericFog6.0 ± 0.1
CLAHE10 ± 0.1
ChannelSwap24 ± 0.3
ChromaticAberration8.6 ± 0.1
CoarseDropout487 ± 6.0
ConstrainedCoarseDropout112591 ± 2961
CropAndPad42 ± 1.6
Defocus2.3 ± 0.0
Dithering0.1 ± 0.0
Downscale83 ± 1.4
Emboss47 ± 0.6
FancyPCA1.8 ± 0.0
FilmGrain4.7 ± 0.0
GlassBlur0.7 ± 0.0
GridDistortion28 ± 0.2
GridDropout93 ± 14
GridMask199 ± 3.1
HSV15 ± 0.9
Halftone0.5 ± 0.2
ISONoise8.6 ± 0.1
JpegCompression25 ± 0.2
LensFlare7.0 ± 0.1
LongestMaxSize28 ± 0.2
Morphological219 ± 1.6
MotionBlur80 ± 2.3
MultiplicativeNoise40 ± 0.1
OpticalDistortion26 ± 0.3
PadIfNeeded17 ± 0.2
PhotoMetricDistort16 ± 0.6
PiecewiseAffine25 ± 0.3
PixelDropout76 ± 0.2
RandomFog0.2 ± 0.0
RandomGravel24 ± 1.0
RandomGridShuffle11 ± 0.0
RandomRotate9041 ± 3.9
RandomScale56 ± 1.4
RandomShadow8.0 ± 0.6
RandomSizedCrop24 ± 0.1
RandomSunFlare5.3 ± 0.0
RandomToneCurve239 ± 1.4
RingingOvershoot2.6 ± 0.0
SafeRotate24 ± 0.0
Shear23 ± 0.1
ShiftScaleRotate24 ± 0.1
ShotNoise0.9 ± 0.0
SmallestMaxSize18 ± 0.1
Snow13 ± 0.2
Spatter7.2 ± 0.1
SquareSymmetry37 ± 3.2
Superpixels0.1 ± 0.0
ToSepia135 ± 0.4
Transpose28 ± 0.1
UnsharpMask7.6 ± 0.1
Vignetting9.6 ± 0.9
WaterRefraction22 ± 0.1
ZoomBlur3.7 ± 0.2

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.1.1
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: 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.