Sha256: 4058afce7a28d96c4ba2e944d7597385591308493035bc5a41b8b83150dd0aaa
Contents?: true
Size: 1.69 KB
Versions: 5
Compression:
Stored size: 1.69 KB
Contents
require "rubygems" require "bundler/setup" require "benchmark" require "chunky_png" image = ChunkyPNG::Image.new(240, 180, ChunkyPNG::Color::TRANSPARENT) # set some random pixels # rubocop:disable Layout/ExtraSpacing, Layout/SpaceInsideParens image[10, 20] = ChunkyPNG::Color.rgba(255, 0, 0, 255) image[50, 87] = ChunkyPNG::Color.rgba( 0, 255, 0, 255) image[33, 99] = ChunkyPNG::Color.rgba( 0, 0, 255, 255) # rubocop:enable Layout/ExtraSpacing, Layout/SpaceInsideParens n = (ENV["N"] || "5").to_i puts "---------------------------------------------" puts "ChunkyPNG (#{ChunkyPNG::VERSION}) encoding benchmark (n=#{n})" puts "---------------------------------------------" puts Benchmark.bmbm do |x| x.report("Autodetect (indexed)") { n.times { image.to_blob } } # Presets x.report(":no_compression") { n.times { image.to_blob(:no_compression) } } x.report(":fast_rgba") { n.times { image.to_blob(:fast_rgba) } } x.report(":fast_rgb") { n.times { image.to_blob(:fast_rgb) } } x.report(":good_compression") { n.times { image.to_blob(:good_compression) } } x.report(":best_compression") { n.times { image.to_blob(:best_compression) } } # Some options x.report(":rgb") { n.times { image.to_blob(color_mode: ChunkyPNG::COLOR_TRUECOLOR) } } x.report(":rgba") { n.times { image.to_blob(color_mode: ChunkyPNG::COLOR_TRUECOLOR_ALPHA) } } x.report(":indexed") { n.times { image.to_blob(color_mode: ChunkyPNG::COLOR_INDEXED) } } x.report(":interlaced") { n.times { image.to_blob(interlaced: true) } } # Exports x.report("to RGBA pixelstream") { n.times { image.to_rgba_stream } } x.report("to RGB pixelstream") { n.times { image.to_rgb_stream } } end
Version data entries
5 entries across 5 versions & 1 rubygems