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.

66
transforms where Albumentationsx is fastest
CPU · Apple M-series
7
transforms where Kornia is fastest
GPU · NVIDIA GeForce RTX 4090
25
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: 27 / 38 · Median: 2.38x · IQR: 0.85x-3.53x

Albumentationsx vs Torchvision

Wins: 0 / 25 · Median: 0.11x · IQR: 0.06x-0.15x

Speedup Distribution

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

32< 0.5×0.5–1×31–2×72–5×15–10×10–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)
Rain27 ± 0.23.8 ± 0.07.0-7.2x
RandomGamma78 ± 5.522 ± 0.03.3-3.8x
ChannelDropout77 ± 0.322 ± 0.03.5-3.6x
PlankianJitter35 ± 0.911 ± 0.03.1-3.3x
Blur61 ± 1.021 ± 0.12.9-3.0x
CornerIllumination6.3 ± 0.12.6 ± 0.12.3-2.5x
MedianBlur20 ± 0.18.4 ± 0.12.3-2.4x
RGBShift47 ± 2.322 ± 0.02.0-2.2x
LinearIllumination7.2 ± 0.14.3 ± 0.21.6-1.8x
SaltAndPepper10 ± 0.28.8 ± 0.11.1-1.2x
Hue20 ± 0.420 ± 0.01.0-1.0x
GaussianIllumination8.7 ± 0.420 ± 0.10.4-0.4x
CenterCrop128387 ± 1670 ± 1.31133 ± 2350.3-0.4x
Erasing86 ± 1.7255 ± 6.60.3-0.4x
RandomCrop128375 ± 1165 ± 0.41133 ± 150.3-0.3x
Saturation11 ± 0.737 ± 0.10.3-0.3x
ColorJitter15 ± 0.519 ± 0.069 ± 0.10.2-0.2x
GaussianNoise4.1 ± 0.122 ± 0.10.2-0.2x
Brightness82 ± 4.122 ± 0.0756 ± 4350.1-0.3x
Grayscale87 ± 6.422 ± 0.0838 ± 4670.1-0.3x
Resize19 ± 0.45.9 ± 0.0140 ± 350.1-0.2x
Solarize88 ± 2.521 ± 0.0628 ± 5.90.1-0.1x
Contrast76 ± 0.722 ± 0.0547 ± 130.1-0.1x
Posterize85 ± 7.4631 ± 150.1-0.1x
Pad80 ± 2.0760 ± 3380.1-0.2x
Invert101 ± 1.122 ± 0.2843 ± 1760.1-0.2x
RandomResizedCrop20 ± 0.76.3 ± 0.0182 ± 160.1-0.1x
VerticalFlip90 ± 4.422 ± 0.2978 ± 5.20.1-0.1x
PlasmaBrightness1.6 ± 0.017 ± 0.40.1-0.1x
PlasmaShadow1.8 ± 0.019 ± 0.50.1-0.1x
HorizontalFlip73 ± 1.122 ± 0.1978 ± 490.1-0.1x
Sharpen30 ± 0.518 ± 0.0420 ± 9.00.1-0.1x
ChannelShuffle67 ± 3.820 ± 0.0958 ± 0.20.1-0.1x
PlasmaContrast1.1 ± 0.017 ± 0.00.1-0.1x
Equalize12 ± 0.24.2 ± 0.0192 ± 1.20.1-0.1x
Rotate30 ± 0.222 ± 0.1534 ± 0.20.1-0.1x
GaussianBlur30 ± 1.022 ± 0.1543 ± 110.1-0.1x
Elastic6.7 ± 0.4127 ± 1.30.0-0.1x
Affine19 ± 0.321 ± 0.0453 ± 0.10.0-0.0x
Normalize17 ± 0.622 ± 0.0461 ± 0.20.0-0.0x
Perspective16 ± 0.2435 ± 0.10.0-0.0x
AutoContrast18 ± 0.221 ± 0.0578 ± 170.0-0.0x
ThinPlateSpline1.2 ± 0.045 ± 0.70.0-0.0x
AdditiveNoise3.9 ± 0.0
AdvancedBlur18 ± 0.4
AtmosphericFog5.1 ± 0.1
CLAHE9.7 ± 0.1
ChannelSwap68 ± 1.8
ChromaticAberration7.3 ± 0.2
CoarseDropout69 ± 2.9
ConstrainedCoarseDropout362 ± 15
CropAndPad37 ± 1.1
Defocus2.1 ± 0.0
Dithering0.1 ± 0.0
Downscale49 ± 1.1
Emboss34 ± 0.8
FancyPCA1.7 ± 0.0
FilmGrain3.7 ± 0.1
GlassBlur0.5 ± 0.0
GridDistortion15 ± 0.7
GridDropout1.4 ± 0.0
GridMask67 ± 3.1
HSV9.1 ± 0.1
Halftone0.4 ± 0.0
ISONoise2.9 ± 0.1
JpegCompression23 ± 0.3
LensFlare7.2 ± 0.1
LongestMaxSize19 ± 1.2
Morphological71 ± 6.1
MotionBlur37 ± 1.2
MultiplicativeNoise52 ± 0.9
OpticalDistortion11 ± 0.3
PadIfNeeded13 ± 0.6
PhotoMetricDistort14 ± 0.7
PiecewiseAffine2.5 ± 0.1
PixelDropout6.1 ± 0.1
RandomFog0.2 ± 0.0
RandomGravel21 ± 0.4
RandomGridShuffle55 ± 1.1
RandomShadow6.7 ± 0.1
RandomSizedCrop17 ± 1.5
RandomSunFlare5.1 ± 0.0
RandomToneCurve72 ± 3.9
RingingOvershoot2.4 ± 0.0
SafeRotate17 ± 1.2
Shear18 ± 0.3
ShiftScaleRotate17 ± 0.4
ShotNoise0.8 ± 0.0
SmallestMaxSize14 ± 0.4
Snow10 ± 0.5
Spatter1.8 ± 0.0
Superpixels0.1 ± 0.0
ToSepia67 ± 3.1
Transpose27 ± 0.5
UnsharpMask5.9 ± 0.2
Vignetting7.1 ± 0.2
WaterRefraction1.7 ± 0.0
ZoomBlur3.7 ± 0.1

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.