From c4c42c8b6c064b8b1a30632034948de07cbef305 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Thu, 23 May 2024 16:58:03 +0200 Subject: docs(tvix/docs/TODO): add item for string context rework Change-Id: I4592490a75fb05093b3fd8649db3b57bff748c0d Reviewed-on: https://cl.tvl.fyi/c/depot/+/11707 Autosubmit: flokli Reviewed-by: edef Tested-by: BuildkiteCI --- tvix/docs/src/TODO.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tvix/docs/src/TODO.md b/tvix/docs/src/TODO.md index ca740c965527..0fb7d70d40ce 100644 --- a/tvix/docs/src/TODO.md +++ b/tvix/docs/src/TODO.md @@ -25,6 +25,15 @@ sure noone is working on this, or has some specific design in mind already. with a different level of `--strict`, but the toplevel doc-comment suggests its generic? +## Perf + - String Contexts currently do a lot of indirections (edef) + (NixString -> NixStringInner -> HashSet[element] -> NixContextElement -> String -> data) + to get to the actual data. We should improve this. There's various ideas, one + of it is globally interning all Nix context elements, and only keeping + indices into that. We might need to have different representations for small + amount of context elements or larger ones, and need tooling to reason about + the amount of contexts we have. + ### Error cleanup - Currently, all services use tvix_castore::Error, which only has two kinds (invalid request, storage error), containing an (owned) string. -- cgit 1.4.1