Sha256: 33a0fd2bc6884a67b58fe279051c6d3ad140e2cdd1195e0959bd47ffb5b27680
Contents?: true
Size: 1.69 KB
Versions: 16
Compression:
Stored size: 1.69 KB
Contents
= ChunkyPNG benchmark suite I would like the performance of this library as good as possible, and I will gladly accept changes to this library that improves performance. The library comes with a basic benchmark suite is intended to test the speed of PNG decoding and encoding against different ruby interpreters. Execute them using rake. You can set the number of runs by passing the N environment variable. bundle exec rake benchmark:encoding bundle exec rake benchmark:decoding bundle exec rake benchmark N=10 # Run all of them with 10 iterations You can use rvm to run the benchmarks against different interpreters. Of course, make sure that the chunky_png is installed for all your interpreters. rvm 1.8.7,1.9.3,rbx bundle exec rake benchmark N=10 == Results What is a speed improvement on one interpreter doesn't necessarily mean the performance will be better on other interpreters as well. Please make sure to benchamrk different RUby interpreters. When it comes to different Ruby interpreters, the priority is the performance on recent MRI versions. Some very old benchmark result (using <tt>N=50</tt>) on my 2007 iMac can be found at https://gist.github.com/wvanbergen/495323. == Why is this relevant? ChunkyPNG is a pure Ruby library to handle PNG files. Decoding a PNG requires a lot of integer math and bitwise operations, and moderate use of the unpack method to read binary data. Encoding is a good test for +Array#pack+, and depending on the encoding options, also requires a lot of calculations. Therefore, the library is a good benchmark candidate for these methods and algorithms. It has been used to improve the <tt>Array#pack</tt> and <tt>String#unpack</tt> methods in Rubinius.
Version data entries
16 entries across 15 versions & 3 rubygems