PerformancePulse is a comprehensive CPU benchmarking tool that evaluates single-threaded and multi-threaded performance, as well as memory access speed. Customize test parameters and get detailed results saved to a text file for easy comparison. Run multiple tests to ensure accuracy and consistency.
- Single-Threaded Performance: Measures the CPU's efficiency in handling single-threaded tasks using Fibonacci calculations.
- Multi-Threaded Performance: Evaluates the CPU's multi-threading capabilities through prime number calculations.
- Memory Access Speed: Assesses the speed of memory access operations to provide a complete performance profile.
- Detailed Configuration: Allows customization of test parameters to suit different benchmarking needs.
- Progress Feedback: Displays real-time progress, iteration counts, and timers for each test.
- Comprehensive Results: Stores detailed benchmark results in a text file for easy comparison.
- Clone the repository:
git clone https://github.com/jacobawebb/PerformancePulse.git
- Navigate to the project directory:
cd PerformancePulse
- Run the benchmarking tool:
node benchmark.js
Customize the benchmarking tests by modifying the CONFIG
object in benchmark.js
:
const CONFIG = {
fibTest: {
iterations: 40, // Number of Fibonacci calculations
depth: 30, // Depth of Fibonacci calculation
runs: 5 // Number of times to run the test for averaging
},
primeTest: {
limit: 100000, // Upper limit for prime number calculation
runs: 5, // Number of times to run the test for averaging
},
memoryTest: {
size: 100 * 1024 * 1024, // Size of the memory buffer to test in bytes
runs: 5, // Number of times to run the test for averaging
}
};
Contributions are welcome! Feel free to open an issue or submit a pull request with any improvements or suggestions.
This project is licensed under the MIT License - see the LICENSE file for details.