diff options
| author | thenewone <[email protected]> | 2025-07-28 15:55:00 +0300 |
|---|---|---|
| committer | thenewone <[email protected]> | 2025-07-28 16:38:13 +0300 |
| commit | dac8b31b0cfdc842024a008e063d052d7626bd0a (patch) | |
| tree | 92ae0ee1c5bc2c784ee71bf1de13b189ad599671 /library/cpp | |
| parent | 5a2a778eb4bc8911b2ace256b87ff261ca3cb656 (diff) | |
Decode primitive types directly, without intermediate INode
Fix TSize (de)coding on a way there.
This improves performance from:
```
BenchmarkDecode<TFlatStructLite> 24437 ns 24433 ns 29036 items_per_second=40.9277k/s
BenchmarkDecode<TFlatStructHeavy> 24807 ns 24804 ns 29581 items_per_second=40.3154k/s
BenchmarkDecode<TDeepStructLite> 88384 ns 88365 ns 7578 items_per_second=11.3167k/s
BenchmarkDecode<TDeepStructHeavy> 42440 ns 42432 ns 16215 items_per_second=23.5672k/s
```
To:
```
BenchmarkDecode<TFlatStructLite> 10463 ns 10461 ns 67494 items_per_second=95.5953k/s
BenchmarkDecode<TFlatStructHeavy> 10816 ns 10814 ns 66032 items_per_second=92.4694k/s
BenchmarkDecode<TDeepStructLite> 72614 ns 72602 ns 9776 items_per_second=13.7737k/s
BenchmarkDecode<TDeepStructHeavy> 26924 ns 26919 ns 26204 items_per_second=37.1486k/s
```
Part 1 of [https://nda.ya.ru/t/E9Ji-1bm7Gwv6c](https://nda.ya.ru/t/3w3MLYZB7Gwv6d
commit_hash:de01ea3b3e667f0e090bf3c61df79726917a6ebd
Diffstat (limited to 'library/cpp')
0 files changed, 0 insertions, 0 deletions
