Вопрос

Я ищу замену замены маршала Руби, которая, надеюсь, имеет одно или несколько из следующих преимуществ по сравнению с маршалом:

  • быстрее сериализация / дезерриализация
  • Более краткий (или просто меньший) объектный граф

Спасибо!!

Это было полезно?

Решение

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/

Другие советы

К сожалению, что не работает падение замены, потому что Marshall автоматически обрабатывает сложные типы. Похоже, MsgPack потребует в построении дополнительных функций, которые (например, внутренние органы Маршала) будут повторять структуры Ruby, которые определяют рассматриваемый объект.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top