From a8c13a5ce1ee59c82b9138cc2073ab1b26187d00 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Mon, 29 Aug 2022 18:27:06 +0300 Subject: fix(tvix/eval): allocate Thunk::upvalues with known capacity The capacity (i.e. number of builtins) is known from the lambda, so we can size it correctly right away. Change-Id: Iab0b5a3f47d450fa9866c091ebbbed935b934907 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6351 Tested-by: BuildkiteCI Reviewed-by: sterni --- tvix/eval/src/value/thunk.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tvix/eval/src/value/thunk.rs') diff --git a/tvix/eval/src/value/thunk.rs b/tvix/eval/src/value/thunk.rs index 3b7cb7f5f711..9d52ded3c43c 100644 --- a/tvix/eval/src/value/thunk.rs +++ b/tvix/eval/src/value/thunk.rs @@ -51,8 +51,8 @@ pub struct Thunk(Rc>); impl Thunk { pub fn new(lambda: Rc) -> Self { Thunk(Rc::new(RefCell::new(ThunkRepr::Suspended { + upvalues: Vec::with_capacity(lambda.upvalue_count), lambda, - upvalues: vec![], }))) } } -- cgit 1.4.1