The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Google открыл код FlatBuffers, библиотеки для эффективной се..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Google открыл код FlatBuffers, библиотеки для эффективной се..."  +/
Сообщение от opennews (ok), 17-Июн-14, 11:22 
Компания Google открыла (http://google-opensource.blogspot.ru/2014/06/flatbuffers-mem... под лицензией Apache 2 библиотеку FlatBuffers (https://github.com/google/flatbuffers), предоставляющую средства для сериализации данных (http://ru.wikipedia.org/wiki/%D0%A1%D0%B... отличающиеся высокой эффективностью работы с памятью.  FlatBuffers позволяет (http://google.github.io/flatbuffers/) напрямую обращаться к сериализированным данным, без их промежуточной распаковки и выделения дополнительных буферов. Код библиотеки написан на C++, но доступен и вариант для Java.


Бинарный формат сериализованных данных переносим между разными платформами и архитектурами и может быть использован как для записи в файлы, так и для передачи по сети. Дополнительно предоставляются средства преобразования в бинарный формат из JSON-представления. В качестве областей применения библиотеки называются игры и ограниченные в потреблении памяти приложения. Поддерживается работа на широком спектре платформ, включая Android, Windows, OS X и Linux.


URL: http://google-opensource.blogspot.ru/2014/06/flatbuffers-mem...
Новость: http://www.opennet.me/opennews/art.shtml?num=40017

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Dcow (ok), 17-Июн-14, 11:22   +/
А что в сравнении с тем же Protocol Buffers от гугла?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2

2. Сообщение от Аноним (-), 17-Июн-14, 11:29   +1 +/
Why not use Protocol Buffers, or .. ?

Protocol Buffers is indeed relatively similar to FlatBuffers, with the primary difference being that FlatBuffers does not need a parsing/ unpacking step to a secondary representation before you can access data, often coupled with per-object memory allocation. The code is an order of magnitude bigger, too. Protocol Buffers has neither optional text import/export nor schema language features like unions.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #8

3. Сообщение от vitalif (ok), 17-Июн-14, 11:39   +/
Гугл там что, сериализацией только и занимается? :-)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #18, #25

4. Сообщение от Orduemail (ok), 17-Июн-14, 11:57   +2 +/
Гугл... Такой гугл:

> For applications on Google Play that integrate this tool, usage is tracked. ... you are free to
> remove the version string but we would appreciate if you would leave it in.

Всё ему отследить надо.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5, #9

5. Сообщение от Аноним (-), 17-Июн-14, 12:12   –4 +/
Ну, а вы сомневались ? Гугл это практически АНБ, только АНБ денег не зарабатывает и работает по большей части на себя, но и немного на того дядю, но уже не из-за денег.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

6. Сообщение от rob pike (?), 17-Июн-14, 14:04   +2 +/
Kenton Varda задолбался мейнтейнить протобуфы, ушёл (из Гугла) и запилил свой Cap-n-Proto.
Wouter van Oortmerssen пришёл (в Гугл) и запилил свой Cap-n-Proto для быстрого обмена данных с игрушками потому что не нашёл в Cap-n-Proto опциональных полей, до юнионов не дочитал, а спросить - язык отсох, да и надо же как-то себя проявить на новом месте.
А юнионы в протобуфы тоже потом добавили, но в опенсорс еще не выложили.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17

8. Сообщение от Аноним (-), 17-Июн-14, 16:56   –2 +/
Судя по всему, команда разработчиков FlatBuffers нашли в ProtocolBuffers фатальный недостаток: его написали не они :).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #14, #15, #19

9. Сообщение от Аноним (-), 17-Июн-14, 16:58   +1 +/
> Всё ему отследить надо.

Это еще что. Вы делаете в программе HTTP даунлоад. Приходит сервак гугли, забирает файл. И отдает вашей программе. Если захочет. Интересная платформа этот ваш ведроид - зонд на зонде и зондом погоняет. В смысле, гугл хочет знать что вы там качали. Даже если это посторонняя программа.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #10

10. Сообщение от Анон22 (?), 17-Июн-14, 17:09   +2 +/
Пруфлинк пожалуйста
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #11, #22

11. Сообщение от Andrey Mitrofanov (?), 17-Июн-14, 17:16   +/
> Пруфлинк пожалуйста

Он путает гугли то ли с сониевским, то ли с нокиевским "ускорителем мобильного интернета". Если я сам ничего не потаю, головка-то маленькая.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #13, #23

12. Сообщение от Аноним (-), 17-Июн-14, 17:17   +1 +/
Вот еще одна библиотека http://kentonv.github.io/capnproto/
Ответить | Правка | Наверх | Cообщить модератору

13. Сообщение от Igel (??), 17-Июн-14, 18:41   +/
у гугля есть точно такой же мобильный "ускоритель".
включается он правда в определенные фазы луны...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

14. Сообщение от Dcow (ok), 17-Июн-14, 19:04   +/
Нуу, у нас проекте 70-80% времени это сериализация/десериализация....
Так что может оно и быстрее.
Надо глянуть какой код, сколько структуры занимают в сравнении, сколько время доступа к полям у класс....эх, где на все время то брать...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #21

15. Сообщение от dq0s4y71 (ok), 17-Июн-14, 20:23   +/
И то, и другое делал Гугль, вроде как...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #16

16. Сообщение от rob pike (?), 17-Июн-14, 20:36   +/
Россиянин россиянину - друг, товарищ и брат.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

17. Сообщение от rob pike (?), 17-Июн-14, 21:11   +/
Преимущества перед Cap-n-Proto, с точки зрения автора FlatBuffers:
>We feel optionals have a lot of uses beyond just mere unions and forwards/backwards compatibility, however. Game objects can have a LOT of fields, many of which are often at their default value, and thus not stored on the wire. This gives significant compression. The zero-byte compression in Cap'n Proto is cool, but we prefer to not have to use additional buffers when reading. Optionals also give a lot of design freedom, i.e. you can add a field that you know is only needed for very few instances without fear of bloating your binaries, as an alternative to "subclassing", or indeed unions.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

18. Сообщение от Аноним (-), 17-Июн-14, 21:42   +/
сделали одно гогно, потом обнаружили что действительно сделали гогно. Пошли делать другое.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

19. Сообщение от Аноним (-), 17-Июн-14, 22:11   +/
дерьмовее протобуфа трудно что-то придумать, там оверхед на каждом шагу. Единственный его плюс - оно есть и как-то работает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #24, #31

20. Сообщение от Аноним (-), 17-Июн-14, 23:55   +/
Код на джаве какой-то не очень... Мягко говоря. Наколеночное все.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #34, #35

21. Сообщение от Аноним (-), 18-Июн-14, 00:02   +/
> Нуу, у нас проекте 70-80% времени это сериализация/десериализация....

Сурово. А что за проект такой? В смысле, чего можно делать для того чтобы тратить 70% на сериализацию?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #29

22. Сообщение от Аноним (-), 18-Июн-14, 00:09   +/
> Пруфлинк пожалуйста

Не получится: совершенно случайно обнаружено анализом логов. И логи я вам разумеется не дам.

Могу сказать как сие выглядит: к user agent программы дописывается нечто типа "AppEngine-Google; (+http://code.google.com/appengine; appid: <идентификатор программы>)". Называется эта заподлянка как несложно догадаться AppEngine и используется чуть более чем половиной ведроидных программ при скачке файлов по HTTP. И гугл при этом *знает* что вы качали. Ибо приходит забирать файл именно гуглевый сервант, а вовсе и не ваша программа.

Так что гугля имеет юзеров андроида в хвост и в гриву и делает это довольно фундаментально. Не знали? Вот, получите и распишитесь. Наверняка у них где-то есть описание как этот app engine работает.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

23. Сообщение от Аноним (-), 18-Июн-14, 00:13   +/
> Он путает гугли

Нет, не путает. К сожалению. Гугл таки обнаглел в зондостроении за пределами самых диких фантазий.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #28

24. Сообщение от SprintSet (?), 18-Июн-14, 01:05   +/
Пытались внедрить. Остались на JSON - у нас нет бинарей, а протобуф не удобен до жути. Пусть идет в гугль.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #26, #27, #30, #32

25. Сообщение от SprintSet (?), 18-Июн-14, 01:06   +/
Значит вы никогда не строили сервис-ориентированные системы под большой нагрузкой :))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

26. Сообщение от Аноним (-), 18-Июн-14, 02:10   +1 +/
> Пытались внедрить. Остались на JSON - у нас нет бинарей, а протобуф
> не удобен до жути. Пусть идет в гугль.

Парсинг и передача JSON оверхеднее даже протобуфа в разы. Так что видимо у вас не сильно много данных было.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

27. Сообщение от Аноним (-), 18-Июн-14, 02:51   +/
> Пытались внедрить. Остались на JSON - у нас нет бинарей, а протобуф
> не удобен до жути. Пусть идет в гугль.

Парсинг и передача JSON оверхеднее даже протобуфа в разы. Так что видимо у вас не сильно много данных было.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #36

28. Сообщение от Andrey Mitrofanov (?), 18-Июн-14, 10:20   +/
> Нет, не путает. К сожалению. Гугл таки обнаглел в зондостроении за пределами
> самых диких фантазий.

Вы уже третий, кто не ответил на #10. Я подожду. ТОлько не про "ззонды вообще, а про ускорители интернетов от, да-а? Не стесняйтесь, оба трое.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

29. Сообщение от Dcow (ok), 18-Июн-14, 14:46   +/
Просто пишем хороший код)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

30. Сообщение от жопка3 (?), 18-Июн-14, 16:01   +/
А чем неудобен показался?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

31. Сообщение от жопка3 (?), 18-Июн-14, 16:02   +/
> дерьмовее протобуфа трудно что-то придумать, там оверхед на каждом шагу. Единственный его
> плюс - оно есть и как-то работает.

А можно подробней об оверхеде по сравнению с JSON?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

32. Сообщение от Аноним (-), 18-Июн-14, 19:56   +/
Аналог http://msgpack.org/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

34. Сообщение от Аноним (-), 22-Июн-14, 09:11   +/
По сравнению с кодом на С++, это еще по божески) А вообще руки нужно отбивать за такой код.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #37

35. Сообщение от ананим.orig (?), 24-Апр-26, 11:13   +/
> .. FlatBuffers .. Код библиотеки написан на C++
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

36. Сообщение от Аноним (36), 24-Апр-26, 16:28    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

37. Сообщение от Аноним (36), 24-Апр-26, 16:35   +/
Шо, опять "ужасный"?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру