mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-27 13:04:20 +01:00
Currently, each record header is decoded at least twice: once to determine the record size within the read buffer (in order to construct the `ImmutableRecord` instance), and again later when decoding the record for comparison. This redundant decoding can have a noticeable negative impact on performance when records are wide (eg. contain multiple columns). This update modifies the (de)serialization format for sorted chunk files by prepending a record size varint to each record payload. As a result, only a single varint needs to be decoded to determine the record size, eliminating the need to decode the full record header during reads. Closes #2176