Scala библиотека двоичной сериализации

Мне интересно узнать мнение о параметрах сериализации структуры данных Scala. Я бы хотел найти что-то, что достаточно развито, чтобы позволить (если возможно) эффективную двоичную сериализацию типов коллекций Scala (т.е. Не использовать обобщенное отражение Java). Я не хочу сериализовать все части класса коллекции, включая внутренние бухгалтерские данные), но также позволяет расширить функциональность для моих собственных целей/классов: я более чем счастлив написать код сериализации для каждого из наших собственных классов, но скорее не буду делать этого для коллекций из стандартные библиотеки Scala. В С++ я получаю много этой функциональности из Расширить библиотеку сериализации.

Я использовал SBinary в прошлом, и он делает некоторые из того, что я хочу, но не получает очевидного активного обслуживания и не делает Не похоже (afaik) отслеживать объекты, которые уже сериализованы (например, для DAG или циклических структур данных).

Существуют ли другие Scala -специфические решения, или если нет, каковы ваши рекомендации по эффективной двоичной сериализации?

Ответы

Ответ 1

Возможно, если вам нужно всего лишь сериализовать данные, а не целые java-объекты, лучшие решения:

Я использую msgpack и bson в нескольких проектах, и они работают очень хорошо. Я действительно рекомендую msgpack - имеет наиболее эффективное двоичное представление (из этих трех) и полностью совместимо с JSON.