mirror of
https://github.com/vee1e/flatbuffers.git
synced 2026-09-02 10:17:51 +00:00
Removes the following allocations: - ``CharsetDecoder`` is reused between calls - ``CharBuffer#wrap`` removed in favor of heap based char buffer that is reused - Temporary ``char[]``, an intermediate copy inside ``StringCoding`` - Another ``char[]``, this is needed because ``StringCoding`` uses a ``CharBuffer`` internally but returns a ``char[]``. Extra characters need to be trimmed so this means yet another allocation - Yet another ``char[]`` directly from ``__string`` for non-heap based buffers Removes the following copies - No copy is performed to trim the allocation since a ``CharBuffer`` is used directly - For non-heap based byte buffers, removes the copy that was previously done in the __string function This does need to get the TLS entry which implies at least some contention on the thread object table and a fence. |
||
|---|---|---|
| .. | ||
| com/google/flatbuffers | ||
| pom.xml | ||