tvl-depot/tvix/eval/src/value
Aspen Smith 98b89e53e2 test(tvix/eval): Add test asserting size of Value
Now that I've done a ton of things to make sure Value is small on the
stack (16 bytes, which is a perfectly reasonable size for a programming
language Value enum), add a test asserting it stays that way.

These size improvements have a measurable impact, too - here's the
`hello outpath` benchmark compared between canon (as of r/7495) and this
commit:

hello outpath time:   [990.56 ms 995.83 ms 1.0070 s]
              change: [-7.1397% -6.1302% -5.1651%] (p = 0.00 < 0.05)
              Performance has improved.

Change-Id: If99a0976eab28eb5e516fcd2f4a0e068145af23e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10799
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-02-13 16:49:53 +00:00
..
attrs fix(tvix/eval): Propagate catchables in NixAttrs::construct 2024-02-09 19:11:09 +00:00
arbitrary.rs revert(tvix/eval): Don't double-box Path values 2024-02-13 16:49:53 +00:00
attrs.rs feat(tvix/eval): Box Value::Catchable 2024-02-13 16:49:53 +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): Box Value::Catchable 2024-02-13 16:49:53 +00:00
list.rs fix(tvix/eval): Inline List.sort_by, and propagate errors 2024-02-08 22:50:27 +00:00
mod.rs test(tvix/eval): Add test asserting size of Value 2024-02-13 16:49:53 +00:00
path.rs refactor(tvix/eval): factor out all calls to canon_path 2022-10-13 09:07:47 +00:00
string.rs fix(tvix/eval): Replace inner NixString repr with Box<Bstr> 2024-02-13 16:49:53 +00:00
thunk.rs feat(tvix/eval): nonrecursive deep_force() 2023-12-12 14:36:02 +00:00