• Paulo Pinheiro's avatar
    [FlexBuffers][Java] Implementation of FlexBuffers API (#5476) · 8e6cabb3
    Paulo Pinheiro authored
    * [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
    8e6cabb3
Name
Last commit
Last update
..
FlatBuffers.Benchmarks Loading commit data...
FlatBuffers.Test Loading commit data...
MyGame Loading commit data...
docker Loading commit data...
fuzzer Loading commit data...
include_test Loading commit data...
namespace_test Loading commit data...
prototest Loading commit data...
rust_usage_test Loading commit data...
union_vector Loading commit data...
DartTest.sh Loading commit data...
GoTest.sh Loading commit data...
JavaScriptTest.js Loading commit data...
JavaScriptTest.sh Loading commit data...
JavaScriptUnionVectorTest.js Loading commit data...
JavaTest.bat Loading commit data...
JavaTest.java Loading commit data...
JavaTest.sh Loading commit data...
KotlinTest.kt Loading commit data...
KotlinTest.sh Loading commit data...
LuaTest.bat Loading commit data...
LuaTest.sh Loading commit data...
PythonTest.sh Loading commit data...
RustTest.bat Loading commit data...
RustTest.sh Loading commit data...
TestAll.sh Loading commit data...
TypeScriptTest.sh Loading commit data...
arrays_test.bfbs Loading commit data...
arrays_test.fbs Loading commit data...
arrays_test.golden Loading commit data...
arrays_test.schema.json Loading commit data...
arrays_test_generated.h Loading commit data...
generate_code.bat Loading commit data...
generate_code.sh Loading commit data...
go_test.go Loading commit data...
javatest.bin Loading commit data...
lobstertest.lobster Loading commit data...
luatest.lua Loading commit data...
monster_extra.fbs Loading commit data...
monster_extra_generated.h Loading commit data...
monster_test.bfbs Loading commit data...
monster_test.fbs Loading commit data...
monster_test.grpc.fb.cc Loading commit data...
monster_test.grpc.fb.h Loading commit data...
monster_test.schema.json Loading commit data...
monster_test_generated.h Loading commit data...
monster_test_generated.js Loading commit data...
monster_test_generated.lobster Loading commit data...
monster_test_generated.rs Loading commit data...
monster_test_generated.ts Loading commit data...
monster_test_my_game.example2_generated.dart Loading commit data...
monster_test_my_game.example_generated.dart Loading commit data...
monster_test_my_game_generated.dart Loading commit data...
monsterdata_extra.json Loading commit data...
monsterdata_python_wire.mon Loading commit data...
monsterdata_test.golden Loading commit data...
monsterdata_test.json Loading commit data...
monsterdata_test.mon Loading commit data...
native_type_test.fbs Loading commit data...
native_type_test_generated.h Loading commit data...
native_type_test_impl.cpp Loading commit data...
native_type_test_impl.h Loading commit data...
phpTest.php Loading commit data...
phpUnionVectorTest.php Loading commit data...
phpUnionVectorTest.sh Loading commit data...
py_test.py Loading commit data...
test.cpp Loading commit data...
test_assert.cpp Loading commit data...
test_assert.h Loading commit data...
test_builder.cpp Loading commit data...
test_builder.h Loading commit data...
unicode_test.json Loading commit data...