License: GPL v3 Python 3.9+ Code style: black

A modern Python benchmarking tool built with PySide6, providing a user-friendly interface for running and analyzing Pystone and other benchmark tests.

πŸ“₯ Installation

Prerequisites

Quick Start

  1. Clone the repository:

    git clone https://github.com/Nsfr750/benchmark.git
    cd benchmark
    
  2. Create and activate a virtual environment:

    python -m venv venv
    .\venv\Scripts\activate  # Windows
    source venv/bin/activate  # Linux/Mac
    
  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Run the application:

    python main.py
    

✨ Features

⌨️ Keyboard Shortcuts

πŸ“Š Usage

  1. Set the number of iterations for the benchmark
  2. Click β€œStart Benchmark” to begin
  3. Monitor progress in real-time
  4. View detailed results and statistics
  5. Access logs for troubleshooting

πŸ“‚ Project Structure

benchmark/
β”œβ”€β”€ .github/                            # GitHub Actions
β”‚   β”œβ”€β”€ workflows/                      # GitHub Actions workflows
β”‚   β”‚   └── ci-cd.yml                   # CI/CD pipeline
β”‚   β”œβ”€β”€ issues/                         # GitHub Issues
β”‚   |   └── templates/                  # GitHub Issues templates
β”‚   └── FUNDING.yml                     # Funding file
β”œβ”€β”€ assets/                             # Assets files
β”œβ”€β”€ config/                             # Configuration files
β”‚   β”œβ”€β”€ config.json                     # Configuration file
β”‚   └── updates.json                    # Update cache file
β”œβ”€β”€ docs/                               # Documentation
β”‚   β”œβ”€β”€ images/                         # Documentation images
β”‚   β”œβ”€β”€ pdf/                            # Documentation PDF
β”‚   └── USER_GUIDE.md                   # User Guide
β”œβ”€β”€ lang/                               # Language files
β”‚   β”œβ”€β”€ en.json                         # English language file
β”‚   └── it.json                         # Italian language file
β”œβ”€β”€ logs/                               # Log files
β”œβ”€β”€ script/                             # Source code
β”‚   β”œβ”€β”€ __init__.py                     # Initialize package
β”‚   β”œβ”€β”€ about.py                        # About dialog
β”‚   β”œβ”€β”€ benchmark_history.py            # Benchmark history
β”‚   β”œβ”€β”€ benchmark_tests.py              # Benchmark tests
β”‚   β”œβ”€β”€ CLI_pystone.py                  # CLI Pystone benchmark
β”‚   β”œβ”€β”€ config_manager.py               # Configuration manager
β”‚   β”œβ”€β”€ export_results.py               # Export results
β”‚   β”œβ”€β”€ hardware_monitor.py             # Hardware monitor
β”‚   β”œβ”€β”€ help.py                         # Help Dialog
β”‚   β”œβ”€β”€ history_dialog.py               # History dialog
β”‚   β”œβ”€β”€ lang_mgr.py                     # Language manager
β”‚   β”œβ”€β”€ logger.py                       # Logging configuration
β”‚   β”œβ”€β”€ menu.py                         # Menu bar functionality
β”‚   β”œβ”€β”€ settings.py                     # Settings dialog
β”‚   β”œβ”€β”€ sponsor.py                      # Sponsor dialog
β”‚   β”œβ”€β”€ system_info.py                  # System information
β”‚   β”œβ”€β”€ test_menu.py                    # Test menu
β”‚   β”œβ”€β”€ theme_manager.py                # Theme Manager
β”‚   β”œβ”€β”€ updates.py                      # Update system
β”‚   β”œβ”€β”€ version.py                      # Version system
β”‚   β”œβ”€β”€ view_log.py                     # Log viewer
β”‚   └── visualization.py                # Benchmark Visualization
β”œβ”€β”€ tests/                              # Test files
β”‚   β”œβ”€β”€ test_benchmark.py               # Test benchmark
β”‚   β”œβ”€β”€ test_hardware_monitor.py        # Test hardware monitor
β”‚   β”œβ”€β”€ test_monitor_manual.py          # Test monitor manual
β”‚   β”œβ”€β”€ test_monitor.py                 # Test monitor
β”‚   └── TEST_README.md                  # Test README
β”œβ”€β”€ .gitignore                          # Git ignore file
β”œβ”€β”€ CHANGELOG.md                        # Changelog file
β”œβ”€β”€ CONTRIBUTING.md                     # Contributing file
β”œβ”€β”€ LICENSE                             # GPLv3 License file
β”œβ”€β”€ main.py                             # Main application
β”œβ”€β”€ README.md                           # This file
β”œβ”€β”€ requirements.txt                    # Requirements file
└── TO_DO.md                            # To do list