tvl-depot/tvix/eval/src
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
..
builtins feat(tvix/eval): Box Value::Catchable 2024-02-13 16:49:53 +00:00
compiler feat(tvix/eval): Box Value::Catchable 2024-02-13 16:49:53 +00:00
tests feat(tvix/eval): strengthen significantly catchable test suite 2024-02-10 15:34:15 +00:00
value test(tvix/eval): Add test asserting size of Value 2024-02-13 16:49:53 +00:00
vm feat(tvix/eval): Box Value::Catchable 2024-02-13 16:49:53 +00:00
chunk.rs feat(tvix/eval): Don't emit OpForce for non-thunk constants 2024-02-01 21:08:35 +00:00
errors.rs refactor(tvix/eval): Box the strings in CatchableErrorKind 2024-02-10 20:35:28 +00:00
io.rs refactor(tvix): use io::Result for EvalIO 2023-12-12 14:28:50 +00:00
lib.rs refactor(tvix/eval): move Evaluation::{default,new_pure}() again 2024-01-18 14:24:40 +00:00
nix_search_path.rs refactor(tvix/eval): Box the strings in CatchableErrorKind 2024-02-10 20:35:28 +00:00
observer.rs feat(tvix/eval/observer): Allow capturing timing of events 2024-01-31 04:41:37 +00:00
opcode.rs refactor(tvix/eval): let OpCoerceToString select the CoercionKind 2023-12-29 21:34:45 +00:00
pretty_ast.rs fix(tvix/eval): fix current clippy warnings 2022-12-25 18:25:06 +00:00
properties.rs refactor(tvix/eval): Don't (ab)use PartialEq for Nix equality 2022-09-18 22:03:41 +00:00
source.rs refactor(tvix/eval): impl Default for SourceCode 2023-08-20 21:52:21 +00:00
spans.rs feat(tvix/eval): drop LightSpan::Delayed 2023-12-12 14:34:28 +00:00
systems.rs fix(tvix/eval): fix current clippy warnings 2022-12-25 18:25:06 +00:00
test_utils.rs test(tvix/eval): Add proof-of-concept test for Chunk 2022-09-18 17:55:06 +00:00
upvalues.rs fix(tvix/eval): remove impl PartialEq for Value 2022-11-04 00:30:13 +00:00
warnings.rs feat(tvix/glue): emit a warning in case of bad SRI hashes 2024-01-03 13:01:02 +00:00