# `mix selecto.bench`

Benchmarks comparable query-build and SQL-compilation paths for Selecto and Ecto.

This task reports separate `build` and `sql` phases, and includes Selecto-only
clause benchmarks for the same query shapes:

  * `build` constructs the query struct only
  * `sql` compiles a prebuilt query struct to SQL only
  * `clause/*` benchmarks individual Selecto clause builders directly

It does not execute queries against a database.

Examples:

    mix selecto.bench
    mix selecto.bench --scenario simple
    mix selecto.bench --scenario joined --time 8 --memory-time 2

Options:

  * `--scenario` - `all` (default), `simple`, or `joined`
  * `--time` - benchmark time in seconds when Benchee is available (default: `5`)
  * `--memory-time` - memory benchmark time in seconds with Benchee (default: `1`)
  * `--iterations` - fallback iteration count when Benchee is unavailable (default: `1000`)
  * `--validate` - enable Selecto domain validation during setup

---

*Consult [api-reference.md](api-reference.md) for complete listing*
