Question

I'm looking for a drop-in replacement of Ruby's Marshal capability, which hopefully has one or more of the following advantages over Marshal:

  • faster serialization/deserialization
  • more concise (or simply smaller) object-graph

Thanks!!

Was it helpful?

Solution

Msgpack is focused on all of that. To replace Marshal:

require 'msgpack'

module Marshal
  module_function
  def dump(x)
    x.to_msgpack
  end
  def load(x)
    MessagePack.unpack x
  end
  alias restore load
end

http://msgpack.sourceforge.net/

OTHER TIPS

Unfortunately that doesn't work as a drop in replacement because Marshall will automatically handle complex types. Looks like msgpack will require additional functionality to be built that (like Marshal's internals) will iterate the Ruby structures that define the object in question.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top