Need for Speed: A Comprehensive Benchmark of JPEG Decoders in Python
Vladimir Iglovikov

TL;DR
This paper systematically benchmarks nine Python JPEG decoders across different architectures, revealing that libjpeg-turbo-based decoders are significantly faster and providing practical recommendations for optimizing image loading in machine learning workflows.
Contribution
It offers the first comprehensive performance comparison of popular Python JPEG decoders on multiple architectures, guiding practitioners in selecting optimal decoders.
Findings
libjpeg-turbo decoders are up to 1.5x faster
performance varies significantly across architectures
practical recommendations for different use cases
Abstract
Image loading represents a critical bottleneck in modern machine learning pipelines, particularly in computer vision tasks where JPEG remains the dominant format. This study presents a systematic performance analysis of nine popular Python JPEG decoding libraries on different computing architectures. We benchmark traditional image processing libraries (Pillow, OpenCV), machine learning frameworks (TensorFlow, PyTorch), and specialized decoders (jpeg4py, kornia-rs) on both ARM64 (Apple M4 Max) and x86\_64 (AMD Threadripper) platforms. Our findings reveal that modern implementations using libjpeg-turbo achieve up to 1.5x faster decoding speeds compared to traditional approaches. We provide evidence-based recommendations for choosing optimal JPEG decoders across different scenarios, from high-throughput training pipelines to real-time applications. This comprehensive analysis helps…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputational Physics and Python Applications
