I've just uploaded RMagick 2.10.0 to RubyForge. This release includes experimental support for using Ruby-managed memory for all RMagick allocations. This means that Image objects (and all other RMagick objects) are managed by Ruby and will be automatically garbage collected. You do not have to manually invoke GC.start or call the Image#destroy! method.
This support is very raw, very experimental, and disabled by default. To enable it, set
RMAGICK_ENABLE_MANAGED_MEMORY = true
_before_ requiring RMagick. When RMagick is using Ruby-managed memory it sets Magick::MANAGED_MEMORY = true.
The ImageMagick team has very kindly helped resolve the last known issue with this new functionality. You must be running the absolute latest version of ImageMagick, 6.5.3-10. This version just became available yesterday.
I haven't had much time to evaluate the new support. My initial impression is that my tests run slower when Ruby is managing all the memory, and in 1.8.x (as I would expect) Ruby's memory footprint is larger. The memory footprint in 1.9.1 is relatively smaller. If you decide to try this I'd appreciate it if you'd share your experiences.
The RMagick prerequisites have changed since the last release. This release of RMagick requires Ruby 1.8.5 or later and ImageMagick 6.3.5-10 or later.
RMagick 2.10.0 is available as always at RubyForge: http://rubyforge.org/projects/rmagick/. Please wait a few hours for the mirrors to be updated.
RMagick is an interface to the ImageMagick (www.imagemagick.org) and image processing library. RMagick supports more than 100 image formats, including GIF, JPEG, PNG. RMagick comes with comprehensive HTML documentation, including 185 complete examples.
···
--
RMagick - http://rmagick.rubyforge.org/
MagickWand for Ruby - http://magickwand.rubyforge.org/