about summary refs log tree commit diff
path: root/tvix/eval/src/value/attrs
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2023-02-27T07·22+0300
committertazjin <tazjin@tvl.su>2023-03-13T20·30+0000
commit4bbfeaf1cbf6f0d1ea94c0fc405512259e856e0a (patch)
treefefa0071e15b54a050a553896ee086b44ef3907a /tvix/eval/src/value/attrs
parent83b2290e1b10683d2dca4b8e20e995662852ab9a (diff)
refactor(tvix/eval): wrap NixList in Rc r/5966
The size of a `Vector<Value>` is 64 *bytes*, which is quite large, and
it bloated the entire Value type to this size.

This change adds an indirection for the inner vector through Rc.
Initially I tried to use a Box, but this breaks pointer equality
guarantees for the Vector when it is small enough to be inlined.

This reduces the size of Value from 64 to 32 bytes.

Change-Id: Ic3211e861b1966c78b2c3d536ba291fea92647fd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/8150
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/eval/src/value/attrs')
0 files changed, 0 insertions, 0 deletions