% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/benchmark-performance.R
\name{benchmark_performance}
\alias{benchmark_performance}
\title{Run the soilKey performance benchmark}
\usage{
benchmark_performance(
  n = 100L,
  systems = c("wrb2022", "sibcs", "usda"),
  include_familia = FALSE,
  seed = 42L,
  verbose = TRUE
)
}
\arguments{
\item{n}{Integer. Number of synthetic pedons to generate.
Default 100; pass 1000 or higher for batch-level
measurements.}

\item{systems}{Character vector. Which classifiers to time.
Default \code{c("wrb2022", "sibcs", "usda")} (all three).}

\item{include_familia}{Pass-through to \code{classify_sibcs}
when \code{"sibcs"} is in \code{systems}. Default
\code{FALSE}.}

\item{seed}{RNG seed for reproducibility. Default 42.}

\item{verbose}{If \code{TRUE} (default), prints a per-system
summary line.}
}
\value{
A list with elements:
  \describe{
    \item{\code{summary}}{data.frame: \code{system, n_pedons,
          total_seconds, mean_seconds, median_seconds,
          pedons_per_minute}.}
    \item{\code{per_pedon}}{data.frame with one row per
          (pedon, system) call: \code{i, system,
          seconds, status}.}
    \item{\code{config}}{list with \code{n}, \code{seed},
          \code{soilKey_version}, \code{R_version},
          \code{platform}.}
  }
}
\description{
Generates \code{n} synthetic pedons (5 horizons each, with the
chemistry / morphology populated for typical Argissolo /
Latossolo / Cambissolo cases), calls each classifier on each
pedon, and reports per-call latency + total throughput.
}
\details{
Designed to be a one-shot reproducible benchmark: the synthetic
pedons use a fixed RNG seed so timings on the same machine are
comparable across releases.
}
\examples{
\dontrun{
bench <- benchmark_performance(n = 100)
bench$summary
#>     system n_pedons total_seconds mean_seconds median_seconds pedons_per_minute
#> 1 wrb2022      100        ~ 5-12      0.05-0.12      ~          ~
#> 2   sibcs      100        ~ 5-15      0.05-0.15      ~          ~
#> 3    usda      100        ~ 4-10      0.04-0.10      ~          ~
}
}
