refactor(tvix/eval): move Evaluation::{default,new_pure}() again

Have a Evaluation::new() function that's used to set up the Evaluation
struct initially - which is also used by both new_pure and new_impure
internally.

It's generic over the exact type of IO, making it easier to instantiate
Evaluation with non-tvix-eval EvalIO implementations, that might not be
in a Box.

Change-Id: Ibf728da24aca59639c5b6df58d00ae98c99a63f5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10640
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
This commit is contained in:
Florian Klink 2024-01-16 15:35:44 +02:00 committed by flokli
parent ea03ff374b
commit 43b9e25025
7 changed files with 23 additions and 24 deletions

View file

@ -2,7 +2,7 @@ use criterion::{black_box, criterion_group, criterion_main, Criterion};
use itertools::Itertools;
fn interpret(code: &str) {
tvix_eval::Evaluation::default().evaluate(code, None);
tvix_eval::Evaluation::new_pure().evaluate(code, None);
}
fn eval_literals(c: &mut Criterion) {