snix/tvix/eval/src/value
Aspen Smith 6559ab4cf5 feat(tvix/eval): Put interner in a thread-local RefCell
Rather than making the interner be a global lazy_static mutex, put it in
a thread-local RefCell. This doesn't change anything in terms of
sharing (since we're currently actually just single threaded), but
avoids the overhead of a mutex, for a nice performance boost (compared
to the mutex version):

hello outpath           time:   [726.71 ms 729.79 ms 735.69 ms]
                        change: [-5.7277% -3.9733% -2.1144%] (p = 0.00 < 0.05)
                        Performance has improved.

Change-Id: I240b238dcbaf854ebafc3017b4425fb7d7b91b03
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12048
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: aspen <root@gws.fyi>
2024-08-08 00:02:36 +00:00
..
attrs fix(tvix/eval): Propagate catchables in NixAttrs::construct 2024-02-09 19:11:09 +00:00
arbitrary.rs feat(tvix/eval): Store string context alongside data 2024-02-21 20:53:04 +00:00
attrs.rs feat(tvix/eval): Store string context alongside data 2024-02-21 20:53:04 +00:00
builtin.rs docs(tvix/eval): fix some broken docstr references 2023-09-22 09:14:33 +00:00
function.rs feat(tvix/eval): track pattern binding names 2024-01-25 11:37:35 +00:00
json.rs feat(tvix/eval): rm NixContext::join, add take_context & IntoIterator 2024-05-23 14:50:38 +00:00
list.rs fix(tvix/eval): Inline List.sort_by, and propagate errors 2024-02-08 22:50:27 +00:00
mod.rs refactor(tvix/eval): Drop LightSpan entirely 2024-07-05 03:53:44 +00:00
path.rs refactor(tvix/eval): factor out all calls to canon_path 2022-10-13 09:07:47 +00:00
string.rs feat(tvix/eval): Put interner in a thread-local RefCell 2024-08-08 00:02:36 +00:00
thunk.rs feat(tvix/eval): Forbid Hash{Map,Set}, use Fx instead 2024-08-07 12:38:40 +00:00