refactor(tvix/eval): Box the inside of Value::Json

serde_json::Value is pretty large, and is contributing (albeit not
exclusively) to the large size of the Value repr. Putting it in a box
is *especially* cheap (since it's rarely used) and allows us
to (eventually) cut down on the size of Value.

Change-Id: I005a802d8527b639beb4e938e3320b11ffa1ef23
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10795
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
This commit is contained in:
Aspen Smith 2024-02-10 12:21:06 -05:00 committed by clbot
parent 7b1632ec71
commit 5d2ae840f1
3 changed files with 3 additions and 3 deletions

View file

@ -111,7 +111,7 @@ impl Value {
pub(crate) async fn into_json_generator(self, co: GenCo) -> Result<Value, ErrorKind> {
match self.into_json(&co).await? {
Err(cek) => Ok(Value::Catchable(cek)),
Ok(json) => Ok(Value::Json(json)),
Ok(json) => Ok(Value::Json(Box::new(json))),
}
}
}