Быстрее/более эффективные альтернативы маршалу Руби?
-
29-09-2019 - |
Вопрос
Я ищу замену замены маршала Руби, которая, надеюсь, имеет одно или несколько из следующих преимуществ по сравнению с маршалом:
- быстрее сериализация / дезерриализация
- Более краткий (или просто меньший) объектный граф
Спасибо!!
Решение
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
Другие советы
К сожалению, что не работает падение замены, потому что Marshall автоматически обрабатывает сложные типы. Похоже, MsgPack потребует в построении дополнительных функций, которые (например, внутренние органы Маршала) будут повторять структуры Ruby, которые определяют рассматриваемый объект.
Не связан с StackOverflow