mirror of
https://github.com/nushell/nushell.git
synced 2025-03-06 03:11:37 +01:00
# Description The name of the `group` command is a little unclear/ambiguous. Everything I look at it, I think of `group-by`. I think `chunks` more clearly conveys what the `group` command does. Namely, it divides the input list into chunks of a certain size. For example, [`slice::chunks`](https://doc.rust-lang.org/std/primitive.slice.html#method.chunks) has the same name. So, this PR adds a new `chunks` command to replace the now deprecated `group` command. The `chunks` command is a refactored version of `group`. As such, there is a small performance improvement: ```nushell # $data is a very large list > bench { $data | chunks 2 } --rounds 30 | get mean 474ms 921µs 190ns # deprecation warning was disabled here for fairness > bench { $data | group 2 } --rounds 30 | get mean 592ms 702µs 440ns > bench { $data | chunks 200 } --rounds 30 | get mean 374ms 188µs 318ns > bench { $data | group 200 } --rounds 30 | get mean 481ms 264µs 869ns > bench { $data | chunks 1 } --rounds 30 | get mean 642ms 574µs 42ns > bench { $data | group 1 } --rounds 30 | get mean 981ms 602µs 513ns ``` # User-Facing Changes - `group` command has been deprecated in favor of new `chunks` command. - `chunks` errors when given a chunk size of `0` whereas `group` returns chunks with one element. # Tests + Formatting Added tests for `chunks`, since `group` did not have any tests. # After Submitting Update book if necessary. |
||
---|---|---|
.. | ||
ast | ||
config | ||
debugger | ||
engine | ||
errors | ||
ir | ||
pipeline | ||
plugin | ||
process | ||
value | ||
alias.rs | ||
did_you_mean.rs | ||
eval_base.rs | ||
eval_const.rs | ||
example.rs | ||
id.rs | ||
lev_distance.rs | ||
lib.rs | ||
module.rs | ||
parser_path.rs | ||
signature.rs | ||
span.rs | ||
syntax_shape.rs | ||
ty.rs |