mirror of
https://github.com/nushell/nushell.git
synced 2025-04-29 07:34:28 +02:00
# Description On 64-bit platforms the current size of `Value` is 56 bytes. The limiting variants were `Closure` and `Range`. Boxing the two reduces the size of Value to 48 bytes. This is the minimal size possible with our current 16-byte `Span` and any 24-byte `Vec` container which we use in several variants. (Note the extra full 8-bytes necessary for the discriminant or other smaller values due to the 8-byte alignment of `usize`) This is leads to a size reduction of ~15% for `Value` and should overall be beneficial as both `Range` and `Closure` are rarely used compared to the primitive types or even our general container types. # User-Facing Changes Less memory used, potential runtime benefits. (Too late in the evening to run the benchmarks myself right now) |
||
---|---|---|
.. | ||
interface | ||
plugin_custom_value_with_source | ||
util | ||
context.rs | ||
declaration.rs | ||
gc.rs | ||
init.rs | ||
lib.rs | ||
persistent.rs | ||
process.rs | ||
source.rs | ||
test_util.rs |