FlatBuffers - FlatBuffers
![]() | tento článek obsahuje obsah, který je napsán jako reklama.Říjen 2019) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Původní autoři | Wouter van Oortmerssen |
---|---|
První vydání | 17. června 2014[1] |
Stabilní uvolnění | 1.12.0 / 12. března 2020[2] |
Úložiště | ![]() |
Napsáno | C ++ |
Operační systém | Android, Microsoft Windows, Mac OS X, Linux |
Typ | formát serializace a knihovna, IDL překladač |
Licence | Licence Apache 2.0 |
webová stránka | Google![]() |
FlatBuffers je svobodný software knihovna implementace a serializace formát podobný Vyrovnávací paměti protokolu, Šetrnost, Apache Avro, SBE, a Cap'n Proto, primárně napsal Wouter van Oortmerssen a open-source od Google. Stejně jako Cap'n Proto a SBE podporuje deserializaci „nulového kopírování“, takže přístup k serializovaným datům nevyžaduje jejich první kopírování do samostatné části paměti, díky čemuž je přístup k datům v těchto formátech mnohem rychlejší než k datům ve formátech vyžadujících rozsáhlejší zpracování, jako např JSON, CSV a v mnoha případech protokolové vyrovnávací paměti. Ve srovnání s jinými formáty serializace však zpracování FlatBuffers vyžaduje obvykle více kódu a některé operace nejsou možné (jako některé operace mutace).
FlatBuffers je populární projekt na GitHub, s 10 228 hvězdami, 260 přispěvateli, 1605 vidličkami a 600 pozorovateli na GitHubu k 19. 9. 2018.[3]
FlatBuffers lze použít v softwaru napsaném v C ++, C#, C, Jít, Jáva, JavaScript, PHP, Krajta, a Rez. Kompilátor schémat běží dále Android, Microsoft Windows, Mac OS X, a Linux,[3] ale hry a další programy využívající FlatBuffers pro serializaci fungují také na mnoha jiných operačních systémech, včetně iOS, Amazonka je Fire OS, a Windows Phone.[4]
Van Oortmerssen původně vyvinul FlatBuffers pro vývoj her a podobné aplikace.[5][1]
Ačkoli FlatBuffers má své vlastní jazyk definice rozhraní Chcete-li definovat data, která mají být serializována, podporuje také schémata definovaná ve formátu .proto vyrovnávacích pamětí protokolu.[6]
Uživatelé
Někteří významní uživatelé FlatBuffers:
- Cocos2d-x, populární bezplatná softwarová 2-D knihovna programování her, používá FlatBuffers k serializaci všech herních dat.[7]
- Facebook Klient Android používá FlatBuffers pro ukládání disků a komunikaci se servery Facebook. Dříve používaný formát JSON fungoval špatně.[8]
Viz také
Reference
- ^ A b Wouter van Oortmerssen (2014-06-17). „FlatBuffers: paměťově efektivní knihovna serializace“. Citováno 2017-06-15.
- ^ „Vydání - google / flatbuffers“. Citováno 19. května 2020 - přes GitHub.
- ^ A b „GitHub - google / flatbuffers: Memory Efficient Serialization Library“. GitHub. Citováno 2018-09-19.
- ^ „FlatBuffers for Unity“. eXiin. 21. 09. 2015. Citováno 2017-06-15.
Testovali jsme flatbuffery [sic] na všech hlavních mobilních platformách (iOS, Android, Amazon Os [sic], Windows Phone), na kterých stavíme [,], a funguje to celkem dobře.
- ^ „Dokumentace FlatBuffers“. Citováno 2017-06-21.
FlatBuffers je efektivní multiplatformní knihovna pro serializaci pro C ++, C #, C, Go, Java, JavaScript, PHP a Python. Původně byl vytvořen ve společnosti Google pro vývoj her a další výkonově důležité aplikace.
- ^ Kenton Varda (2014-06-17). „Cap'n Proto, FlatBuffers a SBE“. Citováno 2017-06-15.
- ^ http://www.cocos2d-x.org/reference/native-cpp/V3.5/d7/d2d/namespaceflatbuffers.html
- ^ George Xie (2015-07-31). „Zlepšení výkonu Facebooku v systému Android pomocí FlatBuffers“. Citováno 2017-06-15.
Doba načítání článku z mezipaměti disku je snížena z 35 ms na 4 ms na příběh. Přechodné alokace paměti jsou sníženy o 75 procent. Doba studeného startu se zlepšila o 10–15 procent. Snížili jsme velikost úložiště o 15 procent.