Vector Downward GetSize optimization (#6925)

* Added Google benchmarks (and gtests)

* Separate benchmark CMakeLists.txt to its own file

* Move output directory to target just flatbenchmark

* Reduced from encoding 210ns -> 188ns

* store size_ as uoffset_t

* fixed windows c4267 warning
4 files changed
tree: 2ca784aba42967e7a370d133cf62f349dd6edc68
  1. .appveyor/
  2. .bazelci/
  3. .github/
  4. .travis/
  5. android/
  6. bazel/
  7. benchmarks/
  8. CMake/
  9. conan/
  10. dart/
  11. docs/
  12. go/
  13. grpc/
  14. include/
  15. java/
  16. js/
  17. kotlin/
  18. lobster/
  19. lua/
  20. mjs/
  21. net/
  22. php/
  23. python/
  24. reflection/
  25. rust/
  26. samples/
  27. scripts/
  28. snap/
  29. src/
  30. swift/
  31. tests/
  32. ts/
  33. .clang-format
  34. .editorconfig
  35. .eslintrc.js
  36. .gitattributes
  37. .gitignore
  38. .travis.yml
  39. appveyor.yml
  40. BUILD.bazel
  41. build_defs.bzl
  42. CMakeLists.txt
  43. composer.json
  44. conanfile.py
  45. CONTRIBUTING.md
  46. Formatters.md
  47. LICENSE.txt
  48. package.json
  49. pom.xml
  50. readme.md
  51. SECURITY.md
  52. swift.swiftformat
  53. tsconfig.json
  54. tsconfig.mjs.json
  55. WORKSPACE
readme.md

logo FlatBuffers

Build Status Build status Join the chat at https://gitter.im/google/flatbuffers Discord Chat Twitter Follow

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

To contribute to this project, see CONTRIBUTING.

Security

Please see our Security Policy for reporting vulnerabilities.

Licensing

Flatbuffers is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.