This repository contains a benchmarking script designed to measure the performance and energy consumption of RSA-2048 operations using OpenSSL. The script supports multi-threaded execution and leverages Intel RAPL for precise energy measurements on compatible systems.
- Automatic detection of logical CPU cores
- RSA-2048 benchmarking using
openssl speedwith multiple threads - Execution time, average power (W), and total energy consumption (J) measurement via Intel RAPL
- Results exported to CSV format
- Python script for result analysis and visualization
bashopensslCLIbc(for floating-point math)- Intel RAPL support via
/sys/class/powercap/intel-rapl:0(optional but recommended)
Install Python dependencies with:
pip install -r requirements.txtUsage Make the benchmark script executable:
chmod +x openssl_speed_server.shRun the benchmark:
./openssl_speed_server.shResults will be stored in:
./openssl_speed_results/openssl_speed_results.csvAnalyze and visualize the results with:
parse_results.py├── openssl_speed_server.sh # Main benchmarking script
├── parse_results # Python analysis and plotting script
├── requirements.txt # Python dependencies
└── openssl_speed_results/
└── openssl_speed_results.csv # CSV file with benchmarking results
Notes Energy consumption data is only available if the system exposes Intel RAPL to userspace.