Ruby的元帅更快/更有效的替代方案?

时间:2010-06-22 18:49:17

标签: ruby algorithm marshalling unmarshalling minimization

我正在寻找直接替代Ruby的Marshal能力,希望与Marshal相比具有以下一个或多个优势:

  • 更快的序列化/反序列化
  • 更简洁(或更简单)的对象图

谢谢!

2 个答案:

答案 0 :(得分:3)

Msgpack专注于所有这些。要取代元帅:

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/

答案 1 :(得分:3)

不幸的是,由于Marshall将自动处理复杂类型,因此无法替代。看起来像msgpack将需要构建其他功能(如Marshal的内部)将迭代定义相关对象的Ruby结构。