mirror of
https://github.com/nushell/nushell.git
synced 2024-12-23 15:39:06 +01:00
0cf7de598b
# Description This shrinks `Record`'s size in half and and allows you to include it in `Value` without growing the size. Changing the `Record` internals may have slightly different performance characteristics as the cache locality changes on lookups (if you directly need the value, it should be closer, but in other cases may blow up the cache line budget) Also different perf characteristics on creation expected. `Record::from_raw_cols_vals` now probably worse. ## Benchmarking Comparison with the main branch (boxed Record) revealed no significant change to the creation but an improvement when accessing larger N. The fact that this was more pronounced for nested access (still cloning before nushell/nushell#12325) leads to the conclusion that this may still be dominated by the smaller clone necessary for a 24-byte `Record` over the previous 48 bytes. # User-Facing Changes Reduced memory usage |
||
---|---|---|
.. | ||
src | ||
tests | ||
Cargo.toml | ||
LICENSE | ||
README.md |
nu-protocol
The nu-protocol crate holds the definitions of structs/traits that are used throughout Nushell. This gives us one way to expose them to many other crates, as well as make these definitions available to each other, without causing mutually recursive dependencies.