Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work. Learn more →
FlatBuffers Alternatives
Similar projects and alternatives to FlatBuffers
-
Cap'n Proto
Cap'n Proto serialization/RPC system - core tools and C++ library
-
-
Sonar
Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
-
MessagePack
MessagePack serializer implementation for Java / msgpack.org[Java]
-
MessagePack
MessagePack implementation for C and C++ / msgpack.org[C/C++]
-
-
Apache Arrow
Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing
-
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
-
entt
Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more
-
-
-
-
QuickBuffers
Java Protobuf implementation suitable for real-time enviroments
-
-
-
C++ Actor Framework
An Open Source Implementation of the Actor Model in C++
-
continuable
C++14 asynchronous allocation aware futures (supporting then, exception handling, coroutines and connections)
-
-
-
function2
Improved and configurable drop-in replacement to std::function that supports move only types, multiple overloads and more
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
FlatBuffers reviews and mentions
-
Flatty - flat message buffers with direct mapping to Rust types without packing/unpacking
Related but not Rust-specific: FlatBuffers, Cap'n Proto.
- QuickBuffers 1.1 released
-
Choosing a protocol for communication between multiple microcontrollers
Or, as an alternative to protobuffers, there's also flatbuffers, which is lighter weight and needs less memory: https://google.github.io/flatbuffers/
-
Ask HN: What happened to flatbuffers? Are they being used?
A few years ago, their was a talk about flatbuffers[0] being a memory efficient and quicker method than JSON.
Anyone have any real world experience with it?
[0] https://github.com/google/flatbuffers
-
HOW TO: Extract Game Files for Scarlet/Violet!!!
Click HERE and HERE. Download both files, and extract the .ZIPs anywhere.
-
Java Serialization with Protocol Buffers
The information can be stored in a database or as files, serialized in a standard format and with a schema agreed with your Data Engineering team. Depending on your information and requirements, it can be as simple as CSV, XML or JSON, or Big Data formats such as Parquet, Avro, ORC, Arrow, or message serialization formats like Protocol Buffers, FlatBuffers, MessagePack, Thrift, or Cap'n Proto.
- Scriptable Headless Player Bots and independent ECS in a Custom UE C++ Server for MMO(RPG)s.
-
Multiplayer Networking Solutions
FlatBuffer also developed by Google. It's used by Cocos2d-x, a game engine , as serialization protocol, instead of JSON / XML / YAML.
-
C++ Jobs - Q4 2022
Flatbuffers
-
Ask HN: What interesting problems are you working on? ( 2022 Edition)
- Moved files: How to not lose all customized information (rating, playlists, playcount, etc.) when a file gets moved to another place?
Many filesystems try to solve the same problem (eg: customize the appearance of files in a particular folder [1]). One solution is adding extended file attributes [2], however this might not be supported on all operating systems.
[1] https://en.wikipedia.org/wiki/.DS_Store
[2] https://en.wikipedia.org/wiki/Extended_file_attributes
A slower but more portable solution might be content-addressable storage. Basically, create a directory containing just metadata files for each song. Name each file as the SHA256 sum of the associated music file, and put metadata into it in a binary format like flatbuffers [3] or Cap'n Proto [4] or a plaintext format like TOML [5] if you prefer to make the system human-editable at the cost of lower performance. Even after moving a file to another location, the SHA256 sum of the file should not change.
Note that if you have duplicated files, then there might be hash collisions where you'll have to reconcile metadata differences (or you can just merge the metadata together, keeping attributes with the later timestamp). There are various solutions to this as well like building a parallel directory structure which mirrors your music filesystem, but that can get complicated.
[3] https://google.github.io/flatbuffers/
- File-Watchers: How to prevent fully indexing the filesystem over and over again and only react to changes?
When first loading a directory of music into the program, build a merkle tree [6] of the files' hashes and save them to the content-addressable storage directory described above if they do not already exist. Once indexing is complete, serialize the merkle trees for each directory as well, this way the next time the program starts, you can just load these up and check for consistency of the files in the background. Then set up FileSystemWatcher [7] to notify you when the contents of a directory changes, and update the metadata files and merkle trees accordingly.
[6] https://en.wikipedia.org/wiki/Merkle_tree
[7] https://stackoverflow.com/questions/721714/notification-when...
-
A note from our sponsor - Sonar
www.sonarsource.com | 8 Jun 2023
Stats
google/flatbuffers is an open source project licensed under Apache License 2.0 which is an OSI approved license.
The primary programming language of FlatBuffers is C++.