nushell/crates
Reilly Wood 771270d526
Add Criterion benchmarks for parser (#7686)
This PR sets up [Criterion](https://github.com/bheisler/criterion.rs)
for benchmarking in the main `nu` crate, and adds some simple parser
benchmarks.

To run the benchmarks, just do `cargo bench` or `cargo bench -- <regex
matching benchmark names>` in the repo root:

```bash
〉cargo bench -- parse
...
     Running benches/parser_benchmark.rs (target/release/deps/parser_benchmark-75d224bac82d5b0b)
parse_default_env_file  time:   [221.17 µs 222.34 µs 223.61 µs]
Found 8 outliers among 100 measurements (8.00%)
  5 (5.00%) high mild
  3 (3.00%) high severe

parse_default_config_file
                        time:   [1.4935 ms 1.4993 ms 1.5059 ms]
Found 11 outliers among 100 measurements (11.00%)
  7 (7.00%) high mild
  4 (4.00%) high severe
```

Existing benchmarks from `nu-plugin` have been moved into the main `nu`
crate to keep all our benchmarks in one place.
2023-01-05 11:39:54 -08:00
..
nu-cli Extend config support from F1-F12 to F1-F20, #7666 (#7669) 2023-01-03 22:00:21 +01:00
nu-color-config Fix #7551 record support in color_config (#7567) 2022-12-22 12:55:50 +01:00
nu-command Url encode to escape special characters (#7664) 2023-01-05 19:24:38 +01:00
nu-engine Limit recursion to avoid stack overflow (#7657) 2023-01-04 18:38:50 -08:00
nu-explore Make get hole errors and cell path hole errors identical (improvement on #7002) (#7647) 2023-01-02 14:45:43 -08:00
nu-glob Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-json Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-parser Limit recursion to avoid stack overflow (#7657) 2023-01-04 18:38:50 -08:00
nu-path Fix typos by codespell (#7600) 2022-12-26 02:31:26 -05:00
nu-plugin Add Criterion benchmarks for parser (#7686) 2023-01-05 11:39:54 -08:00
nu-pretty-hex Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-protocol Limit recursion to avoid stack overflow (#7657) 2023-01-04 18:38:50 -08:00
nu-system Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-table Fix table expand wrap in case no header is there (#7605) 2022-12-27 07:44:34 -06:00
nu-term-grid Fix typos by codespell (#7600) 2022-12-26 02:31:26 -05:00
nu-test-support Upgrade all remaining crates to Rust 2021 (#7681) 2023-01-05 06:24:42 -06:00
nu-utils Add Criterion benchmarks for parser (#7686) 2023-01-05 11:39:54 -08:00
nu_plugin_custom_values Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu_plugin_example Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu_plugin_gstat Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu_plugin_inc Make get hole errors and cell path hole errors identical (improvement on #7002) (#7647) 2023-01-02 14:45:43 -08:00
nu_plugin_python Fix typos by codespell (#7600) 2022-12-26 02:31:26 -05:00
nu_plugin_query Further cleanup of Span::test_data usage + span fixes (#7595) 2022-12-24 07:41:57 -06:00
README.md Correct spelling (#4152) 2021-11-25 11:11:20 -06:00

Nushell core libraries and plugins

These sub-crates form both the foundation for Nu and a set of plugins which extend Nu with additional functionality.

Foundational libraries are split into two kinds of crates:

  • Core crates - those crates that work together to build the Nushell language engine
  • Support crates - a set of crates that support the engine with additional features like JSON support, ANSI support, and more.

Plugins are likewise also split into two types:

  • Core plugins - plugins that provide part of the default experience of Nu, including access to the system properties, processes, and web-connectivity features.
  • Extra plugins - these plugins run a wide range of different capabilities like working with different file types, charting, viewing binary data, and more.