A Go benchmark tool comparing performance of various image resizing libraries and external tools for thumbnail generation.
speedtest-resize is a Go benchmarking tool that compares the performance of various image resizing libraries and external tools. It helps developers identify the fastest solutions for generating thumbnails and resized images, particularly when processing large batches of high-resolution photos. The tool measures total processing time including loading, scaling, and saving operations across different implementations.
Go developers building applications that require efficient image processing, such as web galleries, photo management systems, or content delivery platforms that handle large volumes of image files.
Developers choose speedtest-resize because it provides empirical, real-world performance data comparing multiple Go image libraries against established tools, helping them make informed decisions about which solution offers the best speed for their specific use case without having to run their own extensive benchmarks.
Compare various Image resize algorithms for the Go language
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Measures total processing time for loading, scaling to thumbnails, and saving JPG files, mimicking actual use cases like web galleries. The README specifies testing with 10 high-resolution JPG files (5616x3744 pixels) scaled to 150x100 pixels.
Benchmarks numerous Go packages (e.g., nfnt/resize, disintegration/imaging) and external tools like ImageMagick and GraphicsMagick, providing a comprehensive comparison. The README lists over 10 competitors including pure Go implementations and CGO bindings.
Includes results from multiple contributors on different hardware setups, such as Intel Pentium, Core i5, and i7 processors across Ubuntu, Mac OS X, and Windows. This helps assess performance variability.
Allows selective inclusion of libraries via Go build tags (e.g., 'all', 'nopure', 'noexec'), enabling customized testing. The README provides a table of tags for controlling which libraries are tested.
Primarily measures speed for JPG thumbnail generation, ignoring critical factors like image quality, memory usage, or support for other algorithms and formats. The README admits using only the fastest algorithms (e.g., 'Box' or 'NearestNeighbor') and focuses on JPGs.
Requires installation of multiple external dependencies (e.g., ImageMagick, Vips, OpenCV) and use of build tags, which can be time-consuming and error-prone. The README notes that different 3rd-party libraries must be installed and managed.
Benchmark results are from older tests (e.g., 2014 onwards) and lack automatic updates, meaning performance data might not reflect current library versions or optimizations. The README shows results from contributors over years without a clear update mechanism.