mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-02 04:04:19 +00:00
8e6cabb31be63e28bac325cfcf5cbaa443d2cf7d
* [FlexBuffers][Java] Implementation of FlexBuffers API This is the initial attemp to implement FlexBuffer on Java. There is some limitations as compared to the C++ implementation: 1 - No mutations implemented yet 2 - Does not parse from json Also, this initial implementation is not focused and performance, but get the basics write. So there is many opportunities for optimization, for instance, remove all enums, return CharSequence instead of Strings and object pooling. * [FlexBuffers][Java] Optimizations and simplification of the Builder API. This change removes BitWidth enum in favor of static ints. Also make all "reads" APIs closer to C++ implementation (try to cast or convert as much as possible, assuming user knows what he is doing). Finally, we remove the helper classes for building vectors and maps. There is no official benchmarks, but the unit tests are running in less than 50% for previous runs, which mean those optimizations are worth it. * [FlexBuffers][Java] Fix Reference::asString behavior There was a incorrect assumption that strings would be null-terminated, which could lead to truncated strings. S now it relies size instead of null-termination. Other minor improvements
FlatBuffers
FlatBuffers is a cross platform serialization library architected for maximum memory efficiency. It allows you to directly access serialized data without parsing/unpacking it first, while still having great forwards/backwards compatibility.
Go to our landing page to browse our documentation.
Supported operating systems
- Windows
- MacOS X
- Linux
- Android
- And any others with a recent C++ compiler.
Supported programming languages
- C++
- C#
- C
- Dart
- Go
- Java
- JavaScript
- Lobster
- Lua
- PHP
- Python
- Rust
- TypeScript
and more in progress...
Contribution
- FlatBuffers Google Group to discuss FlatBuffers with other developers and users.
- FlatBuffers Issues Tracker to submit an issue.
- stackoverflow.com with
flatbufferstag for any questions regarding FlatBuffers.
To contribute to this project, see CONTRIBUTING.
Licensing
Flatbuffers is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
Description
FlatBuffers: Memory Efficient Serialization Library
cc-plus-pluscross-platformc-sharpflatbuffersgogrpcjavajavascriptjson-parsermarshallingmmapprotobufpythonrpcrustserializationserialization-librarytypescriptzero-copy
Readme
Apache-2.0
79 MiB
Languages
C++
37.8%
Rust
13.5%
Swift
7.7%
Python
6.9%
C#
5.6%
Other
28.5%