The random-access-speed, compact representation and backwards compatibility were flatbuffers biggest selling points for us, being essential on the client side (mobile phones with nimble CPUs and limited bandwidth).
We had a couple of reasons to go for a dynamic approach on the server, though:
- operationally, it's much cleaner
- most flatbuffers are generated here so omitting data due to outdated schemas was not an option
- we have much faster processors
- a few milliseconds more are OK in the context of a HTTP request with 30+ milliseconds latency
- we can cache flatbuffer binaries easily (e.g. configs)
So I think this project serves a special use case and and it would not make sense to integrate it into the main project.
~ Florian
-
We decided to do it dynamically because of our very specific requirements:
-