Overview
Benchmark API Reference
Overview
The benchmark executable analyses Argos reconstruction pipelines. It runs every (sampler, reconstructor) combination on a configurable set of input meshes, then aggregates timing, memory, and geometry metrics into an XLSX report.
Architecture
- Metrics record values on a Google Benchmark
state. The base class is Metric. Concrete metrics include VertexCount, FaceCount, Argos::BoundingBoxMetric, Argos::CentroidToFaceMetric, EdgeFaceIntersection, Holes, MemoryPeak, MemoryPeakGlobal, and the marker Heatmap. - BenchmarksContainer owns the pipeline: it iterates over the configured sampler/reconstructor pairs, runs the Google Benchmark framework, and collects the counters.
- Argos::BenchmarkReporter receives the counters after each run.
- Argos::XLSXExporter formats the report via Argos::BasicFormatter / Argos::ExcelFormatter / Argos::ColumnWidthTracker.
Data flow
- CLI / JSON config selects samplers, reconstructors, and metrics.
BenchmarksContaineriterates over each combination.- Each metric records its values on the
benchmark::Statecounters. BenchmarkReporterreceives the final state and forwards it to the XLSX exporter.- The XLSX exporter writes
rapport.xlsxnext to the iteration output.
Use the left navigation to browse all classes, structs, and files in the benchmark project.