docs(tvix/TODO): extend NAR rendering prefetching idea

With the seekable NAR renderer, figuring out the next few blobs to
render became possible.

Change-Id: I1214302f88e6f9aba74227f84df0f964d587baf2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12652
Tested-by: BuildkiteCI
Reviewed-by: edef <edef@edef.eu>
Autosubmit: flokli <flokli@flokli.de>
This commit is contained in:
Florian Klink 2024-10-15 18:00:37 +03:00 committed by clbot
parent 1c80bc4b5b
commit 4ebb8f42ed

View file

@ -75,8 +75,13 @@ correctness:
This is somewhat the "spiritual counterpart" to our sequential ingestion
code (`ConcurrentBlobUploader`, used by `ingest_nar`), which keeps
"some amount of outgoing bytes" in memory.
This is somewhat blocked until the {Chunk/Blob}Service split is done, as then
prefetching would only be a matter of adding it into the one `BlobReader`.
Our seekable NAR AsyncRead implementation already removes most complexity in
rendering everything between blobs.
It should be possible to extend / write a wrapped version of it that
prefetches a configurable sliding window of blobs.
Per-blob prefetching itself is somewhat blocked until the {Chunk/Blob}Service
split is done, as then prefetching there would only be a matter of adding it
into the one `BlobReader`.
### Error cleanup
- Currently, all services use tvix_castore::Error, which only has two kinds