Benchmarks

June 19, 2023 · View on GitHub

1.0.1

Intel Core i7-6700K

  • Architecture: x86_64
  • Cores/Threads: 4/8
  • Frequency: 4.2 GHz
  • Operating System: Arch Linux
TimeMemory
from_jpeg(jpeg_bytes)2.31ms2.05MiB
from_jpeg(jpeg_io)2.18ms2.08MiB
from_png(png_bytes)3.41ms2.35MiB
from_png(png_io)3.52ms2.57MiB
from_ppm(ppm_bytes)761.38µs1.17MiB
from_ppm(ppm_io)2.37ms1.2MiB
from_webp(webp_bytes)3.03ms1.17MiB
from_webp(webp_io)2.67ms1.27MiB
to_jpeg(IO::Memory.new)3.41ms964kiB
to_lossless_webp(IO::Memory.new)105.24ms1.23MiB
to_lossy_webp(IO::Memory.new)21.14ms1.2MiB
to_png(IO::Memory.new)37.16ms1.3MiB
to_ppm(IO::Memory.new)2.35ms2.0MiB
bilinear_resize!(640, 480)6.22ms1.17MiB
box_blur!(10)5.55ms600kiB
brightness!(1.4)1.87ms0B
channel_swap!(:red, :blue)89.0ns0B
contrast!(128)2.08ms0B
crop!(200, 200, 100, 100)26.94µs100kiB
gaussian_blur!(10)16.93ms1.75MiB
horizontal_blur!(10)2.26ms300kiB
vertical_blur!(10)3.3ms300kiB
  • Total Time: 227.81ms
  • Total Memory: 24.7MiB

1.0.0

Intel Core i7-6700K

  • Architecture: x86_64
  • Cores/Threads: 4/8
  • Frequency: 4.2 GHz
  • Operating System: Arch Linux
TimeMemory
from_jpeg(jpeg_bytes)2.3ms2.05MiB
from_jpeg(jpeg_io)2.05ms2.08MiB
from_png(png_bytes)3.89ms2.35MiB
from_png(png_io)3.44ms2.57MiB
from_ppm(ppm_bytes)714.55µs1.17MiB
from_ppm(ppm_io)2.4ms1.2MiB
from_webp(webp_bytes)3.05ms1.17MiB
from_webp(webp_io)2.75ms1.27MiB
to_jpeg(IO::Memory.new)3.43ms964kiB
to_lossless_webp(IO::Memory.new)105.22ms1.23MiB
to_lossy_webp(IO::Memory.new)21.13ms1.2MiB
to_png(IO::Memory.new)37.01ms1.3MiB
to_ppm(IO::Memory.new)2.34ms2.0MiB
bilinear_resize!(640, 480)6.41ms1.17MiB
box_blur!(10)5.6ms600kiB
brightness!(1.4)1.87ms0B
channel_swap!(:red, :blue)70.0ns0B
contrast!(128)2.05ms0B
crop!(200, 200, 100, 100)27.13µs100kiB
gaussian_blur!(10)17.03ms1.75MiB
horizontal_blur!(10)2.31ms300kiB
vertical_blur!(10)3.41ms300kiB
  • Total Time: 228.41ms
  • Total Memory: 24.7MiB

v0.3.1

Apple M2 Pro

  • Architecture: arm64
  • Cores/Threads: 12/12
  • Frequency: 3.7 GHz
  • Operating System: macOS 13.3.1
TimeMemory
from_jpeg(jpeg_bytes)1.48ms2.05MiB
from_jpeg(jpeg_io)1.2ms2.08MiB
from_png(png_bytes)3.33ms2.35MiB
from_png(png_io)3.19ms2.57MiB
from_ppm(ppm_bytes)510.71µs1.17MiB
from_ppm(ppm_io)1.88ms1.2MiB
from_webp(webp_bytes)2.59ms1.17MiB
from_webp(webp_io)2.13ms1.27MiB
to_jpeg(IO::Memory.new)3.43ms964kiB
to_lossless_webp(IO::Memory.new)120.76ms1.23MiB
to_lossy_webp(IO::Memory.new)16.92ms1.2MiB
to_png(IO::Memory.new)29.6ms1.3MiB
to_ppm(IO::Memory.new)1.96ms2.0MiB
bilinear_resize!(640, 480)2.63ms1.17MiB
box_blur!(10)2.43ms600kiB
brightness!(1.4)1.18ms0B
channel_swap!(:red, :blue)42.0ns0B
contrast!(128)1.37ms0B
crop!(200, 200, 100, 100)11.88µs100kiB
gaussian_blur!(10)7.37ms1.75MiB
horizontal_blur!(10)1.23ms300kiB
vertical_blur!(10)1.2ms300kiB
  • Total Time: 206.41ms
  • Total Memory: 24.7MiB

Intel Core i7-6700K

  • Architecture: x86_64
  • Cores/Threads: 4/8
  • Frequency: 4.2 GHz
  • Operating System: Arch Linux
TimeMemory
from_jpeg(jpeg_bytes)2.05ms2.05MiB
from_jpeg(jpeg_io)1.97ms2.08MiB
from_png(png_bytes)3.47ms2.35MiB
from_png(png_io)3.62ms2.57MiB
from_ppm(ppm_bytes)724.27µs1.17MiB
from_ppm(ppm_io)2.43ms1.2MiB
from_webp(webp_bytes)3.06ms1.17MiB
from_webp(webp_io)3.06ms1.27MiB
to_jpeg(IO::Memory.new)3.36ms964kiB
to_lossless_webp(IO::Memory.new)105.43ms1.23MiB
to_lossy_webp(IO::Memory.new)21.1ms1.2MiB
to_png(IO::Memory.new)36.37ms1.3MiB
to_ppm(IO::Memory.new)2.3ms2.0MiB
bilinear_resize!(640, 480)6.19ms1.17MiB
box_blur!(10)5.62ms600kiB
brightness!(1.4)1.85ms0B
channel_swap!(:red, :blue)74.0ns0B
contrast!(128)2.03ms0B
crop!(200, 200, 100, 100)29.6µs100kiB
gaussian_blur!(10)16.95ms1.75MiB
horizontal_blur!(10)2.26ms300kiB
vertical_blur!(10)3.32ms300kiB
  • Total Time: 227.19ms
  • Total Memory: 24.7MiB