[ANN] RMagick 2.10.0 released with support for Ruby-managed memory

T

Tim Hunter

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.
 
T

Tim Hunter

Tim said:
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.

Quick follow-up: I took a harder look and determined that my tests run
in almost exactly the same time when Ruby is managing all the memory.
There is no slowdown. Ruby's resident memory size (as shown by top(1))
is larger, but I would expect that.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

Forum statistics

Threads
473,743
Messages
2,569,477
Members
44,898
Latest member
BlairH7607

Latest Threads

Top