🚀 Puhu vs Pillow Performance Benchmark Report

📊 System Information

Timestamp: 2025-08-20T22:36:27.753507
Platform: macOS-15.6-x86_64-i386-64bit
Processor: i386
Architecture: 64bit
Python Version: 3.12.8
CPU Cores: 8
Total Memory: 16.0 GB
Pillow Version: 11.3.0
Puhu Version: 0.1.0
Test Iterations: 3
31
Operations where Puhu is faster
0
Operations where Pillow is faster
5
Operations where Puhu uses less memory
77
Total tests performed

📈 Performance Comparison Chart

📋 Detailed Results

Operation Puhu Time (ms) Pillow Time (ms) Speedup Puhu Memory (MB) Pillow Memory (MB) Winner
Load File 100X100 Rgb 0.02 0.15 9.09x 0.02 0.01 Puhu
Load File 100X100 Rgba 0.01 0.14 19.98x 0.00 0.00 Puhu
Load File 100X100 L 0.01 0.11 12.82x 0.00 0.00 Puhu
Load File 500X500 Rgb 0.01 0.13 18.02x 0.00 0.00 Puhu
Load File 500X500 Rgba 0.01 0.10 17.40x 0.00 0.00 Puhu
Load File 500X500 L 0.01 0.11 17.76x 0.00 0.00 Puhu
Load File 1000X1000 Rgb 0.01 0.11 15.79x 0.00 0.00 Puhu
Load File 1000X1000 Rgba 0.01 0.13 21.70x 0.00 0.00 Puhu
Load File 1000X1000 L 0.01 0.10 16.50x 0.00 0.00 Puhu
Load File 2000X2000 Rgb 0.01 0.11 17.26x 0.00 0.00 Puhu
Load File 2000X2000 Rgba 0.01 0.11 14.85x 0.00 0.00 Puhu
Load File 2000X2000 L 0.01 0.13 19.04x 0.00 0.00 Puhu
Resize 250X250 Nearest 4.27 11.48 2.69x 1.72 0.19 Puhu
Resize 250X250 Bilinear 3.97 13.72 3.46x 0.10 1.64 Puhu
Resize 250X250 Bicubic 4.55 14.97 3.29x 0.99 0.00 Puhu
Resize 250X250 Lanczos 5.23 16.65 3.18x 0.06 0.00 Puhu
Resize 500X500 Nearest 4.43 11.35 2.56x 1.30 0.00 Puhu
Resize 500X500 Bilinear 4.47 14.14 3.17x 0.01 0.00 Puhu
Resize 500X500 Bicubic 5.38 29.41 5.47x 0.02 3.24 Puhu
Resize 500X500 Lanczos 6.29 18.27 2.91x 0.01 0.00 Puhu
Resize 1500X1500 Nearest 11.13 12.21 ~1x 5.27 0.00 Tie
Resize 1500X1500 Bilinear 11.24 21.57 1.92x 0.03 1.91 Puhu
Resize 1500X1500 Bicubic 16.46 26.20 1.59x 4.74 0.00 Puhu
Resize 1500X1500 Lanczos 15.75 33.68 2.14x 0.00 1.91 Puhu
Crop 200X200 2.27 11.61 5.13x 0.01 0.00 Puhu
Crop 400X400 2.32 11.44 4.93x 0.00 0.00 Puhu
Crop 700X700 2.88 11.32 3.93x 0.00 0.00 Puhu
Rotate 90 1.20 3.51 2.93x 0.00 0.00 Puhu
Rotate 180 1.25 3.37 2.69x 0.00 0.00 Puhu
Rotate 270 1.27 3.35 2.64x 0.00 0.00 Puhu
Transpose Flip Left Right 1.30 3.34 2.57x 0.00 0.00 Puhu
Transpose Flip Top Bottom 1.22 3.14 2.58x 0.00 0.00 Puhu

💡 Performance Recommendations

✅ Use Puhu for image loading: Puhu's lazy loading is consistently faster for file operations, making it ideal for applications that load many images but don't immediately process them.
🧠 Memory optimization needed: Some Puhu operations use significant memory. Consider processing images in smaller batches or using streaming approaches for large datasets.
🔄 Hybrid approach: Consider using Puhu for loading and simple operations, then converting to Pillow for complex processing when needed.
📊 Profile your specific use case: These benchmarks use synthetic data. Test with your actual images and workflows for the most accurate performance comparison.