diff --git a/benches/benchmarks.rs b/benches/benchmarks.rs index a7beedbbad..e4591290f5 100644 --- a/benches/benchmarks.rs +++ b/benches/benchmarks.rs @@ -2,7 +2,9 @@ use criterion::{criterion_group, criterion_main, BatchSize, Criterion}; use nu_cli::eval_source; use nu_parser::parse; use nu_plugin::{Encoder, EncodingType, PluginCallResponse, PluginOutput}; -use nu_protocol::{engine::EngineState, PipelineData, Span, Value}; +use nu_protocol::{ + engine::EngineState, eval_const::create_nu_constant, PipelineData, Span, Value, NU_VARIABLE_ID, +}; use nu_utils::{get_default_config, get_default_env}; use std::path::{Path, PathBuf}; @@ -61,34 +63,6 @@ fn parser_benchmarks(c: &mut Criterion) { BatchSize::SmallInput, ) }); - - c.bench_function("eval default_env.nu", |b| { - b.iter(|| { - let mut stack = nu_protocol::engine::Stack::new(); - eval_source( - &mut engine_state, - &mut stack, - get_default_env().as_bytes(), - "default_env.nu", - PipelineData::empty(), - false, - ) - }) - }); - - c.bench_function("eval default_config.nu", |b| { - b.iter(|| { - let mut stack = nu_protocol::engine::Stack::new(); - eval_source( - &mut engine_state, - &mut stack, - get_default_config().as_bytes(), - "default_config.nu", - PipelineData::empty(), - false, - ) - }) - }); } fn eval_benchmarks(c: &mut Criterion) { @@ -101,6 +75,10 @@ fn eval_benchmarks(c: &mut Criterion) { Value::string(home_path.to_string_lossy(), Span::test_data()), ); + let nu_const = create_nu_constant(&engine_state, Span::unknown()) + .expect("Failed to create nushell constant."); + engine_state.set_variable_const_val(NU_VARIABLE_ID, nu_const); + c.bench_function("eval default_env.nu", |b| { b.iter(|| { let mut stack = nu_protocol::engine::Stack::new(); @@ -143,7 +121,7 @@ fn encoding_test_data(row_cnt: usize, col_cnt: usize) -> Value { fn encoding_benchmarks(c: &mut Criterion) { let mut group = c.benchmark_group("Encoding"); - let test_cnt_pairs = [(100, 5), (100, 15), (10000, 5), (10000, 15)]; + let test_cnt_pairs = [(100, 5), (10000, 15)]; for (row_cnt, col_cnt) in test_cnt_pairs.into_iter() { for fmt in ["json", "msgpack"] { group.bench_function(&format!("{fmt} encode {row_cnt} * {col_cnt}"), |b| { @@ -162,7 +140,7 @@ fn encoding_benchmarks(c: &mut Criterion) { fn decoding_benchmarks(c: &mut Criterion) { let mut group = c.benchmark_group("Decoding"); - let test_cnt_pairs = [(100, 5), (100, 15), (10000, 5), (10000, 15)]; + let test_cnt_pairs = [(100, 5), (10000, 15)]; for (row_cnt, col_cnt) in test_cnt_pairs.into_iter() { for fmt in ["json", "msgpack"] { group.bench_function(&format!("{fmt} decode for {row_cnt} * {col_cnt}"), |b| {