# `Benchee.Benchmark.BenchmarkConfig`
[🔗](https://github.com/bencheeorg/benchee/blob/1.5.1/lib/benchee/benchmark/benchmark_config.ex#L1)

Benchmark Configuration, practically a sub set of `Benchee.Configuration`

`Benchee.Configuration` holds too much data that we don't want to send into the benchmarking
processes - inputs being potentially huge. Hence, we take the sub set the benchmarks need and
put it in here. Since this is a benchmarking library, to no one's surprise these are a lot of
them.
See: https://github.com/bencheeorg/benchee/issues/412

# `t`

```elixir
@type t() :: %Benchee.Benchmark.BenchmarkConfig{
  after_each: Benchee.Benchmark.Hooks.hook_function() | nil,
  after_scenario: Benchee.Benchmark.Hooks.hook_function() | nil,
  before_each: Benchee.Benchmark.Hooks.hook_function() | nil,
  before_scenario: Benchee.Benchmark.Hooks.hook_function() | nil,
  max_sample_size: pos_integer(),
  measure_function_call_overhead: boolean(),
  memory_time: number(),
  parallel: pos_integer(),
  pre_check: boolean(),
  print: map(),
  reduction_time: number(),
  time: number(),
  warmup: number()
}
```

# `from`

