-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Objective
You are tasked with producing a data-driven performance analysis report comparing three cryptographic signing schemes used in Hyperledger Fabric:
- ECDSA (classical)
- PQC-only (e.g., Dilithium)
- Hybrid (ECDSA + PQC)
The goal is to highlight performance differences under varying load conditions using reproducible, statistically sound visualizations derived from existing CSV benchmark data.
Role and Methodology
Act as an expert in data analysis and performance benchmarking.
You must:
- Solve the problem step by step
- Explain your reasoning at each step
- Pause after each step and wait for confirmation before proceeding
- Avoid jumping to final conclusions prematurely
Input Data Context
You are provided with multiple CSV files generated via Monte Carlo simulations. Each file represents a single run under a specific cryptographic mode and load profile.
Key CSV Fields
- Identification:
crypto_mode,load_profile,run_id - Performance:
tx_rate,latency_avg,latency_p95 - System Resources:
cpu_util,mem_util - Blockchain Metrics:
block_size,block_commit_time - Cryptographic Overhead:
sig_gen_time,sig_verify_time
Load profiles include LOWLOAD and HIGHLOAD, with multiple runs per configuration.
Project Structure Constraints
All reporting scripts must integrate cleanly into the following project layout:
tools/
├── reporting/
│ ├── generate_performance_curve.py
│ ├── generate_overhead_breakdown.py
│ ├── generate_latex_tables.py
│ └── utils/
Engineering Constraints
- Scripts must follow SOLID and DRY principles
- Each file must contain no more than 50 lines of code
- Logic must be decomposed into reusable external modules
- Scripts must be executable via
python -m
Example:
python -m tools.reporting.generate_performance_curve \
--csv data/fixtures/monte_carlo/workshop/ECDSA_LOWLOAD_RUN1.csv \
--output /tmp/performance_curve.pngStep-by-Step Tasks
Step 1 — Visualization Strategy
Propose and justify the types of charts that can be generated from the available CSV data.
Examples (non-exhaustive):
- Box plots
- Histograms
- Scatter plots
- Stacked bar charts
- Heatmaps
For each proposed visualization:
- Specify which metrics it applies to
- Explain what analytical insight it provides
- Explain why it is suitable for comparing ECDSA, PQC-only, and Hybrid schemes
Stop after this step and wait for confirmation before proceeding.
Step 2 — Script Design and File Structure
Once the visualization type is confirmed:
- Propose the script name
- Define the file/module structure
- Describe responsibilities of each module
- Explain how SOLID and DRY principles are enforced
Do not implement full code unless explicitly requested.
Stop after this step and wait for confirmation before proceeding.
Expected Output
The final outcome (after all steps are approved) will be:
- One or more production-ready reporting scripts
- Reproducible plots suitable for academic papers or technical reports
- Clear separation between data loading, transformation, and visualization logic
Tone and Quality Bar
- Use precise technical language
- Favor clarity, reproducibility, and statistical rigor
- Assume the audience consists of researchers and performance engineers
Do not simplify concepts unnecessarily. Focus on correctness and analytical value.