Для текущего проекта встала задача проанализировать производительность тех или иных сериализаторов доступных в .net.
Всё началось со статьи двухгодичной давности, в которой Binary DataContractSerializer самый быстрый, самый смелый и т.д.
На данный момент это показалось не столь верной информацией, плюс потребности всё-таки бывают разные. Для web приложений во front end чаще всего возникает потребность в JSON сериализации ( об этом в следующий раз ), а в back end больше волнует производительность и размер сериализированного объекта.
Беглый анализ дал пару интересных результатов:
- http://www.servicestack.net/benchmarks/NorthwindDatabaseRowsSerialization.1000000-times.2010-02-06.html
protobuf-net и proto# просто замечательные сериализаторы для потребностей как back end, так и front end реализаций, к сожалению proto# ещё в альфе.
Так же в последнее время красной нитью по многим статьям промелькнул Thrift.
Так сказать сравнение финалистов неплохо описано в следующей статье:
Thrift vs. Protocol Buffers
Thrift vs. Protocol Buffers
Что немало приятно, protobuf портирован более чем на 20 диалектов, что несомненно является огромным плюсом, правда и Thrift не отстаёт:
Third-Party Add-ons for Protocol Buffers
Third-Party Add-ons for Protocol Buffers
Посмотреть примеры использования из .net можно в паре постов на Хабре:
- Использование Protocol Buffers на платформе .Net (Часть 1)
- Использование Protocol Buffers на платформе .Net (Часть 2)
- Использование Thrift в .NET
- Использование Protocol Buffers на платформе .Net (Часть 1)
- Использование Protocol Buffers на платформе .Net (Часть 2)
- Использование Thrift в .NET
Комментариев нет:
Отправить комментарий