mirror of
https://github.com/nushell/nushell.git
synced 2024-11-22 08:23:24 +01:00
6872d2ac2a
# Description This does a few speedups for tight loops: * Caches the DeclId for `table` so we don't look it up. This means users can't easily replace the default one, we might want to talk about this tradeoff. The lookup for finding `table` in a tight loop is currently pretty heavy. Might be another way to speed this up. * `table` no longer pre-calculates the width. Instead, it only calculates the width when printing a table or record. * Use more efficient way of collecting the block of each loop * When printing output, only get the config when needed Combined, this drops the runtime from a million loop tight iteration from 1sec 8ms to 236ms. # User-Facing Changes _(List of all changes that impact the user experience here. This helps us keep track of breaking changes.)_ # Tests + Formatting Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A clippy::needless_collect` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` # After Submitting If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. |
||
---|---|---|
.. | ||
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.