Skip to content

v1.1 Performance Report

Method

Measurements use five local runs and report the median. The benchmark-engine workload is a deterministic 1,000-iteration FakeBackend run driven by ScriptedTimingEngine; it measures framework work only, not hardware execution. The report workload renders JSON, Markdown, CSV, and HTML from that completed session.

Before and after

Workload v1.0.1 median v1.1.0 median Change
Benchmark orchestration, 1,000 iterations 21.807 ms 12.855 ms 41.1% faster
Four-format report generation 24.066 ms 6.330 ms 73.7% faster
Repeated hardware inspection, same instance 2.197 ms 0.005 ms 99.8% faster
Register 1,000 independent plugins 12.535 ms 12.042 ms 3.9% faster

The fresh hardware-probe comparison varied with host state (2.507 ms before and 1.909 ms after), so it is reported as observational rather than attributed to code changes.

Profile findings

The v1.0.1 benchmark profile spent notable aggregate time repeatedly scanning execution observations for memory, CPU, GPU, and operation counts, and recomputing latency statistics in the metrics engine. v1.1.0 accepts already-computed benchmark latency statistics and collects all observation categories in one run scan.

Multi-format reports previously rebuilt the complete view and charts once per format. ReportViewBuilder.build_many now materializes shared session/chart content once and substitutes only per-format metadata. The invariant Jinja template is compiled once per process.

SystemHardwareInspector now caches static CPU, memory, and GPU probes for its lifetime, but continues to read thermal and power policy environment values on every inspection. Plugin registration no longer removes elements from the pending list repeatedly.

Compatibility

All changes preserve existing report formats, metric values, plugin lifecycle semantics, and hardware-profile fields. New optional latency_statistics input on CoreMetricsEngine.compute is backward compatible.