Imagor 1.9.1 se distingue dans les benchmarks de traitement d'images
Le serveur de traitement d'images imagor, dans sa version 1.9.1, s'impose comme l'un des plus rapides du marché, d'après les résultats d'une série de tests publiés récemment. Cette performance est attribuée à l'intégration poussée de la bibliothèque libvips via le binding Go vipsgen, combinée à un pipeline de traitement en continu optimisé.
Des gains de vitesse significatifs face à la concurrence
Les benchmarks, réalisés sur une instance AWS EC2 c7i.large avec une configuration standard (deux utilisateurs virtuels, une durée de cinq minutes et une période de montée en charge de dix secondes), comparent imagor 1.9.1 à imgproxy (version 4.0.3) et à thumbor (version 7.7.7). Le test consiste à redimensionner des images en 512x512 pixels. Les résultats, exprimés en requêtes par seconde (req/s), sont les suivants :
- Format JPEG : imagor atteint 74,35 req/s, contre 82,01 req/s pour imgproxy et 59,45 req/s pour thumbor.
- Format PNG : imagor obtient 18,56 req/s, devant imgproxy (17,35 req/s) et thumbor (10,23 req/s).
- Format WebP : imagor enregistre 21,23 req/s, contre 24,27 req/s pour imgproxy et 15,80 req/s pour thumbor.
- Format AVIF : imagor atteint 17,77 req/s, légèrement au-dessus d'imgproxy (17,15 req/s) et nettement devant thumbor (14,85 req/s).
Imagor devance ainsi nettement thumbor sur l'ensemble des formats testés. Face à imgproxy, les écarts varient selon le format : imgproxy est plus rapide sur JPEG et WebP, tandis qu'imagor prend l'avantage sur PNG et AVIF.
Les ressorts techniques de la performance
La rapidité d'imagor repose sur plusieurs mécanismes. Le logiciel prépare les flux d'entrée de manière à ce que libvips puisse les consommer efficacement. La réutilisation des blocs de données réduit les opérations de lecture redondantes après l'analyse du type de contenu. Le système gère également le fan-out et les lectures partagées pour éviter les duplications de travail sur des sources en continu. Enfin, le chemin d'accès à libvips à partir de sources « seekable » permet à cette bibliothèque de charge et de traiter les entrées courantes de manière plus performante.
Nuances et précautions d'interprétation
Les auteurs des benchmarks soulignent que le classement exact dépend du format d'image, des paramètres de sortie, de la forme de la source et de l'environnement de déploiement. Étant donné qu'imagor et imgproxy utilisent tous deux libvips, l'écart entre eux provient davantage de la surcharge liée au chemin de requête, à la gestion des sources et aux paramètres d'encodage qu'à la bibliothèque de traitement elle-même. Pour le format AVIF en particulier, les réglages de l'encodeur influencent fortement les résultats ; toute conclusion doit donc être mise en regard de la configuration exacte d'exécution. Thumbor, de son côté, reste une référence solide en matière de compatibilité, mais son pipeline basé sur Pillow se révèle globalement plus lent sur cette charge de travail.
Un outil open source en pleine maturité
Imagor est un serveur de traitement d'images open source, distribué sous forme de conteneur Docker (image ghcr.io/cshum/imagor:1.9.1). Il s'intègre avec plusieurs systèmes de stockage (système de fichiers, AWS S3, Google Cloud Storage) et propose des fonctionnalités avancées comme le recadrage, le redimensionnement, la rotation et l'application de filtres. La version 1.9.1 confirme la trajectoire de montée en performance du projet, qui se positionne désormais comme une alternative crédible aux solutions propriétaires ou historiques.