Performance Test Evidence
This directory contains evidence files generated by the performance benchmark test suite.
Purpose
Performance tests generate JSON evidence files that provide:
- Detailed timing metrics (mean, p95, p99, min, max)
- System information (CPU, OS, Python version, NumPy version)
- Test parameters (number of trials, data sizes)
- Timestamp of test execution
Usage
Evidence files are automatically generated when running performance tests:
# Run all performance tests
pytest tests/industry_standard/test_performance_benchmarks.py -v -m perf
# Or set environment variable
SCBE_RUN_PERF=1 pytest tests/industry_standard/test_performance_benchmarks.py -v
Evidence Files
Each test generates a JSON file with the following structure:
{
"test_name": "layer1_complex_state",
"system_info": {
"timestamp": "2026-01-19T10:30:00",
"platform": "Windows-10-10.0.19045-SP0",
"processor": "Intel64 Family 6 Model 142 Stepping 12, GenuineIntel",
"python_version": "3.11.0",
"numpy_version": "1.24.0",
"cpu_count": 8,
"modules_available": true,
"pqc_available": false
},
"results": {
"mean_ms": 0.023,
"p95_ms": 0.045,
"p99_ms": 0.067,
"min_ms": 0.015,
"max_ms": 0.089,
"n_trials": 1000
}
}
Why Evidence Files?
- Reproducibility: Captures exact system configuration and test parameters
- Trend Analysis: Compare performance across different hardware/versions
- Compliance: Provides audit trail for performance claims
- Debugging: Helps diagnose performance regressions
Test Categories
Primitive Benchmarks
layer1_complex_state.json- Complex state constructionlayer4_poincare_embedding.json- Hyperbolic embeddinglayer5_hyperbolic_distance.json- Distance computationlayer6_breathing_transform.json- Breathing dynamicslayer14_audio_axis.json- Audio telemetry
System Benchmarks
memory_footprint.json- Memory usage trackingconcurrent_operations.json- Concurrency speedup metrics
PQC Benchmarks (Optional)
mlkem768_keygen.json- ML-KEM key generation
Notes
- Evidence files are not committed to git (see
.gitignore) - Tests are opt-in via
-m perfmarker orSCBE_RUN_PERF=1 - Performance thresholds are hardware-dependent - adjust as needed
- Concurrency tests report metrics rather than asserting (GIL limitations)