diff options
| author | Valentin Popov <valentin@popov.link> | 2026-07-18 11:03:56 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-07-18 11:03:56 +0300 |
| commit | 6b4fefc21f30300b07e6e6e99eedf3d81e855388 (patch) | |
| tree | cdf822136c75f60a3ae6166fbab9575d88947382 /docs/tomes/03-resources.md | |
| parent | f952593e27a2ea8222f2a0d3fa545654ce073c6b (diff) | |
| download | fparkan-6b4fefc21f30300b07e6e6e99eedf3d81e855388.tar.xz fparkan-6b4fefc21f30300b07e6e6e99eedf3d81e855388.zip | |
perf(resource): avoid copying nres payloads
Diffstat (limited to 'docs/tomes/03-resources.md')
| -rw-r--r-- | docs/tomes/03-resources.md | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/docs/tomes/03-resources.md b/docs/tomes/03-resources.md index acf97a8..7bce1a1 100644 --- a/docs/tomes/03-resources.md +++ b/docs/tomes/03-resources.md @@ -128,6 +128,12 @@ directory_offset = total_size - directory_size Reader проверяет, что `directory_offset >= 16`, умножение не переполнено, а каталог заканчивается точно на `total_size`. +В repository NRes payload возвращается как slice с `Arc`-владельцем полного +неизменяемого архива: валидация формата не создаёт промежуточную копию каждого +payload. Такой view учитывается в том же bounded decoded-payload cache по +длине диапазона и сохраняет deterministic eviction. Это применимо только к +raw NRes; сжатый RsLi по-прежнему материализуется после декодирования. + ### Запись каталога NRes ```c |
