aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-07-18 11:03:56 +0300
committerValentin Popov <valentin@popov.link>2026-07-18 11:03:56 +0300
commit6b4fefc21f30300b07e6e6e99eedf3d81e855388 (patch)
treecdf822136c75f60a3ae6166fbab9575d88947382 /docs
parentf952593e27a2ea8222f2a0d3fa545654ce073c6b (diff)
downloadfparkan-6b4fefc21f30300b07e6e6e99eedf3d81e855388.tar.xz
fparkan-6b4fefc21f30300b07e6e6e99eedf3d81e855388.zip
perf(resource): avoid copying nres payloads
Diffstat (limited to 'docs')
-rw-r--r--docs/tomes/03-resources.md6
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