Licence : GPL v3 Python 3.9+ Style de code : black

Un outil de benchmarking Python moderne construit avec PySide6, offrant une interface conviviale pour exécuter et analyser des tests Pystone et d’autres benchmarks.

📥 Installation

Prérequis

Démarrage rapide

  1. Clonez le dépôt :

    git clone https://github.com/Nsfr750/benchmark.git
    cd benchmark
    
  2. Créez et activez un environnement virtuel :

    python -m venv venv
    .\venv\Scripts\activate  # Windows
    source venv/bin/activate  # Linux/Mac
    
  3. Installez les dépendances :

    pip install -r requirements.txt
    
  4. Lancez l’application :

    python main.py
    

✨ Fonctionnalités

⌨️ Raccourcis clavier

📊 Utilisation

  1. Définissez le nombre d’itérations pour le benchmark
  2. Cliquez sur “Démarrer le benchmark” pour commencer
  3. Surveillez la progression en temps réel
  4. Consultez les résultats détaillés et les statistiques
  5. Accédez aux journaux pour le dépannage

📂 Structure du projet

benchmark/
├── .github/                            # GitHub Actions
│   ├── workflows/                      # Workflows GitHub Actions
│   │   └── ci-cd.yml                   # Pipeline CI/CD
│   ├── issues/                         # Problèmes GitHub
│   |   └── templates/                  # Modèles de problèmes GitHub
│   └── FUNDING.yml                     # Fichier de financement
├── assets/                             # Fichiers d'actifs
├── config/                             # Fichiers de configuration
│   ├── config.json                     # Fichier de configuration
│   └── updates.json                    # Cache des mises à jour
├── docs/                               # Documentation
│   ├── images/                         # Images de la documentation
│   ├── pdf/                            # Documentation PDF
│   └── USER_GUIDE.md                   # Guide utilisateur
├── lang/                               # Fichiers de langue
│   ├── en.json                         # Fichier en anglais
│   └── it.json                         # Fichier en italien
├── logs/                               # Fichiers journaux
├── script/                             # Code source
│   ├── __init__.py                     # Initialisation du package
│   ├── about.py                        # Boîte de dialogue "À propos"
│   ├── benchmark_history.py            # Historique des benchmarks
│   ├── benchmark_tests.py              # Tests de benchmark
│   ├── CLI_pystone.py                  # Benchmark Pystone en ligne de commande
│   ├── config_manager.py               # Gestionnaire de configuration
│   ├── export_results.py               # Exportation des résultats
│   ├── hardware_monitor.py             # Moniteur matériel
│   ├── help.py                         # Boîte de dialogue d'aide
│   ├── history_dialog.py               # Boîte de dialogue d'historique
│   ├── lang_mgr.py                     # Gestionnaire de langue
│   ├── logger.py                       # Configuration de la journalisation
│   ├── menu.py                         # Fonctionnalités de la barre de menu
│   ├── settings.py                     # Boîte de dialogue des paramètres
│   ├── sponsor.py                      # Boîte de dialogue des sponsors
│   ├── system_info.py                  # Informations système
│   ├── test_menu.py                    # Menu des tests
│   ├── theme_manager.py                # Gestionnaire de thème
│   ├── updates.py                      # Système de mise à jour
│   ├── version.py                      # Système de version
│   ├── view_log.py                     # Visionneuse de journaux
│   └── visualization.py                # Visualisation des benchmarks
├── tests/                              # Fichiers de test
│   ├── test_benchmark.py               # Test de benchmark
│   ├── test_hardware_monitor.py        # Test du moniteur matériel
│   ├── test_monitor_manual.py          # Test manuel du moniteur
│   ├── test_monitor.py                 # Test du moniteur
│   └── TEST_README.md                  # README des tests
├── .gitignore                          # Fichier .gitignore
├── CHANGELOG.md                        # Journal des modifications
├── CONTRIBUTING.md                     # Lignes directrices pour les contributions
├── LICENSE                             # Fichier de licence GPLv3
├── main.py                             # Application principale
├── README.md                           # Ce fichier
├── requirements.txt                    # Fichier des dépendances
└── TO_DO.md                            # Liste des tâches