FlatBuffers vs JSON
Не знаю, многие ли слышали FlatBuffers, но сегодня речь пойдет именно о нем.
FlatBuffers – это эффективная кроссплатформенная библиотека сериализации для C ++, C #, C, Go, Java, JavaScript, PHP и Python. Изначально он был создан Google для разработки игр и других приложений, критичных к производительности.
Зачем использовать FlatBuffers?
🥖 Доступ к сериализованным данным без синтаксического анализа/распаковки
🥖 Эффективность и скорость
🥖 Гибкость
🥖 Мало кода
🥖 Строго типизированный
🥖 Удобен в использовании
🥖 Кроссплатформенный код без зависимостей
Он значительно быстрее JSON. Но почему же тогда его так мало используют в мобильной разработке?
Вообще, из публичных компаний я, наверно, знаю только одну, которая не стесняется говорить, что использует FlatBuffers – и это Facebook. Еще недавно я узнала что с недавних пор Google втащил его почти во все свои либы и с помощью этого существенно ускорил их работу.
Мне тоже удалось поработать с FlatBuffers, я не внедряла его в прод, но это есть в планах и я понимаю какие там цифры. И да, кстати, о них:
На разбор 5МБ файла уйдет:
🙂 FlatBuffers – 2-7 мсек
😶 JSON – 2000-2500 мсек
При использовании FlatBuffer в приложении Android не вызывается сборщик мусора, в отличии от JSON. Так что фактически единственный вариант для адекватной работы с JSON без зависания интерфейса – в фоновом потоке 🤔
Post #381
8.02K