Ian Manske 0918050ac8
Deprecate group in favor of chunks (#13377)
# 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.
2024-07-16 03:49:00 +00:00
..
2024-05-04 15:56:16 +03:00
2022-11-22 16:58:11 -08:00
2024-05-23 02:05:27 +00:00
2024-05-23 02:05:27 +00:00
2024-05-10 11:06:33 -05:00
2024-05-23 02:05:27 +00:00
2023-10-24 12:48:05 -05:00
2024-01-25 14:16:49 +08:00
2024-04-13 14:58:54 +00:00
2023-10-19 09:30:34 -05:00
2024-05-03 08:36:10 +08:00
2024-05-02 09:36:37 -04:00
2023-11-17 19:30:53 -06:00
2024-05-02 09:36:37 -04:00
2024-04-16 19:08:58 +08:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2024-02-17 10:51:20 +02:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2024-05-03 08:36:10 +08:00
2024-05-03 08:36:10 +08:00
2024-03-11 19:46:04 +01:00