tvl-depot/tvix/eval/src
Vincent Ambo adf9b4c54a refactor(tvix/eval): remove use of imbl::Vector
This vector type has served us well for now, but it contains internal refcounts
which are incompatible with upcoming changes related to garbage collection.

The performance impact of this change within all benchmarks I ran was within the
margin of error:

[nix-shell:/tmp/perf]$ hyperfine "./before -E '(import <nixpkgs> {}).firefox.outPath' --log-level ERROR --no-warnings"
Benchmark 1: ./u64 -E '(import <nixpkgs> {}).firefox.outPath' --log-level ERROR --no-warnings
  Time (mean ± σ):      7.528 s ±  0.272 s    [User: 6.578 s, System: 0.631 s]
  Range (min … max):    7.160 s …  8.012 s    10 runs

nix-shell:/tmp/perf]$ hyperfine "./std-vec -E '(import <nixpkgs> {}).firefox.outPath' --log-level ERROR --no-warnings"
Benchmark 1: ./std-vec -E '(import <nixpkgs> {}).firefox.outPath' --log-level ERROR --no-warnings
  Time (mean ± σ):      7.515 s ±  0.178 s    [User: 6.508 s, System: 0.652 s]
  Range (min … max):    7.276 s …  7.861 s    10 runs

Change-Id: Ib95f871956e336a1e5771f6293583854b1efb276
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12197
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-08-19 11:02:50 +00:00
..
builtins refactor(tvix/eval): remove use of imbl::Vector 2024-08-19 11:02:50 +00:00
compiler refactor(tvix/eval): ensure VM operations fit in a single byte 2024-08-19 11:02:50 +00:00
tests feat(tvix/eval): Re-enable testing for eval-okay-readDir 2024-08-09 14:56:57 +00:00
value refactor(tvix/eval): remove use of imbl::Vector 2024-08-19 11:02:50 +00:00
vm refactor(tvix/eval): remove use of imbl::Vector 2024-08-19 11:02:50 +00:00
chunk.rs refactor(tvix/eval): ensure VM operations fit in a single byte 2024-08-19 11:02:50 +00:00
errors.rs feat(tvix/eval): Allow passing in an env to evaluation 2024-07-05 16:39:34 +00:00
io.rs feat(tvix/eval): Implement builtins.readFileType 2024-08-09 14:35:57 +00:00
lib.rs feat(tvix/eval): Forbid Hash{Map,Set}, use Fx instead 2024-08-07 12:38:40 +00:00
nix_search_path.rs fix(tvix/eval/nix_search_path): gate tests on impure feature 2024-05-26 19:53:51 +00:00
observer.rs refactor(tvix/eval): ensure VM operations fit in a single byte 2024-08-19 11:02:50 +00:00
opcode.rs refactor(tvix/eval): ensure VM operations fit in a single byte 2024-08-19 11:02:50 +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): Allow passing in an env to evaluation 2024-07-05 16:39:34 +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