4 ms·
I can second libvips, I had to work on a project that needed to resize GIFs and vips was probably 10 times faster than the ImageMagick or Pillow. I think the on
by kaladin-jasnah 4y ago
I can second libvips, I had to work on a project that needed to resize GIFs and vips was probably 10 times faster than the ImageMagick or Pillow. I think the only thing that compared to libvips was ffmpeg.
- tecleandor 4y agoIn a quick test I've done resizing to half size a 30k x 26k pixel painting scan [1], vips is half the time and almost a tenth of memory use. Of course, if you're using that much memory (with imagemagick), once you begin to parallelize and do batch conversion, you fill your memory super quickly, you begin to swap, and then the conversion times go through the roof. Image Magick time convert original.jpg -resize 50% im.jpg convert original.jpg -resize 50% im.jpg 15.99s user 4.78s system 131% cpu 15.770 total avg shared (code): 0 KB avg unshared (data/stack): 0 KB total (sum): 0 KB max memory: 1909 MB page faults from disk: 485098 other page faults: 7059 vips time vips resize original.jpg vips.jpg 0.5 vips resize original.jpg vips.jpg 0.5 13.38s user 0.15s system 195% cpu 6.910 total avg shared (code): 0 KB avg unshared (data/stack): 0 KB total (sum): 0 KB max memory: 255 MB page faults from disk: 1 other page faults: 60319 1: https://commons.wikimedia.org/wiki/File:Hans_Holbein_der_J%C3%BCngere_-_Der_Kaufmann_Georg_Gisze_-_Google_Art_Project.jpg https://commons.wikimedia.org/wiki/File:Hans_Holbein_der_J%C...
- tecleandor 4y agoSeems like imagemagick was coredumping and my measurement wasn't correct. So I raised imagemagick memory limits and I made sure both were using the same jpeg quality and downsampling filter and: ImageMagick time convert original.jpg -filter Lanczos -set option:filter:lobes 3 -resize 50% -quality 75% im.jpg 91.43s user 3.65s system 424% cpu 22.396 total avg shared (code): 0 KB avg unshared (data/stack): 0 KB total (sum): 0 KB max memory: 10553 MB page faults from disk: 0 other page faults: 2993653 vips time vips resize original.jpg "vips.jpg[Q=75]" 0.5 --kernel lanczos3 13.00s user 0.15s system 194% cpu 6.771 total avg shared (code): 0 KB avg unshared (data/stack): 0 KB total (sum): 0 KB max memory: 255 MB page faults from disk: 11 other page faults: 60951 So Imagemagick does: 40x the memory, almost 4x the time, almost 9x the CPU time. Versions and computer: Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz (8 cores) 16GB RAM Debian 11 Kernel 5.18.8-xanmod1-x64v2 (software not rebuilt for x64v2 instructions) ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org vips-8.12.2-Mon Feb 28 21:28:00 UTC 2022 Options for zsh time: TIMEFMT='%U user %S system %P cpu %*E total'$'\n'\ 'avg shared (code): %X KB'$'\n'\ 'avg unshared (data/stack): %D KB'$'\n'\ 'total (sum): %K KB'$'\n'\ 'max memory: %M 'MB''$'\n'\ 'page faults from disk: %F'$'\n'\ 'other page faults: %R'