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

TransformSpeedup
Albx / best
albumentationsx
2.1.1
kornia
0.8.0
torchvision
0.21.0
RandomGamma11x238 ± 0.822 ± 0.0
ChannelDropout9.4-9.5x205 ± 0.722 ± 0.0
Rain7.1-7.4x27 ± 0.63.8 ± 0.0
PlankianJitter5.4-5.5x59 ± 0.411 ± 0.0
Blur5.3-5.4x110 ± 0.521 ± 0.1
CornerIllumination3.8-4.1x10 ± 0.22.6 ± 0.1
MedianBlur2.8-2.9x24 ± 0.28.4 ± 0.1
LinearIllumination2.3-2.5x10 ± 0.24.3 ± 0.2
Erasing1.7-1.9x458 ± 7.5255 ± 6.6
SaltAndPepper1.3-1.4x12 ± 0.08.8 ± 0.1
Hue1.2-1.4x26 ± 2.220 ± 0.0
CenterCrop1280.7-1.1x975 ± 1370 ± 1.31133 ± 235
RandomCrop1280.8x933 ± 6.665 ± 0.41133 ± 15
VerticalFlip0.6x591 ± 2022 ± 0.2978 ± 5.2
Invert0.4-0.7x467 ± 2722 ± 0.2843 ± 176
Saturation0.5x19 ± 0.737 ± 0.1
GaussianNoise0.5x11 ± 0.422 ± 0.1
ThinPlateSpline0.5x23 ± 0.445 ± 0.7
Pad0.3-0.7x302 ± 11760 ± 338
GaussianIllumination0.5x10 ± 0.220 ± 0.1
Brightness0.2-0.8x241 ± 1.922 ± 0.0756 ± 435
Contrast0.4-0.5x239 ± 1.822 ± 0.0547 ± 13
RGBShift0.4x9.4 ± 0.122 ± 0.0
Solarize0.4x249 ± 8.921 ± 0.0628 ± 5.9
Posterize0.4x240 ± 8.1631 ± 15
PlasmaShadow0.3-0.4x6.8 ± 0.019 ± 0.5
ColorJitter0.3x19 ± 0.919 ± 0.069 ± 0.1
PlasmaBrightness0.3x4.4 ± 0.017 ± 0.4
Elastic0.2x26 ± 0.3127 ± 1.3
Resize0.1-0.2x26 ± 0.25.9 ± 0.0140 ± 35
PlasmaContrast0.2x2.9 ± 0.017 ± 0.0
RandomResizedCrop0.1-0.2x28 ± 0.56.3 ± 0.0182 ± 16
Grayscale0.1-0.2x82 ± 0.322 ± 0.0838 ± 467
Rotate0.1x49 ± 0.122 ± 0.1534 ± 0.2
Sharpen0.1x38 ± 0.418 ± 0.0420 ± 9.0
Equalize0.1x16 ± 0.44.2 ± 0.0192 ± 1.2
GaussianBlur0.1x42 ± 0.722 ± 0.1543 ± 11
Affine0.1x25 ± 0.121 ± 0.0453 ± 0.1
Perspective0.0x22 ± 0.1435 ± 0.1
Normalize0.0x22 ± 0.322 ± 0.0461 ± 0.2
AutoContrast0.0x22 ± 0.321 ± 0.0578 ± 17
HorizontalFlip0.0x30 ± 0.122 ± 0.1978 ± 49
ChannelShuffle0.0x26 ± 0.120 ± 0.0958 ± 0.2
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.