In the original version of Compact Codec, I made sure to in-line fixed width binary structures, so that there is no overhead of the indirection of a packed size when it is always known. This is a key optimization of the Compact codec.
In #2931, this optimization was eliminated.
I agree with Fory having its own type system instead of importing Arrow types, but the fixed width binary is a key optimization for our use case that uses many UUID objects. Is it possible to bring this functionality back?
Component(s)
Java
Minimal reproduce step
Test case:
f3d4629#diff-a9a719017351d352dffa11e97e9bc0cbfb4a74b56766eeb6fde5021ffe17c684R184-R193
What did you expect to see?
The original size serializes the test case to 17 bytes
What did you see instead?
Now, the encoded size is 32 bytes, almost a 100% increase.