Revenir aux archives

Calcul scientifique

Dépôt GitHub

Benchmark de réaction-diffusion

La même simulation, deux backends Python et une comparaison rigoureuse de la vitesse et de la cohérence numérique.

Contexte: Calcul scientifique, simulation numérique et performance Python

Période: 2026

Résumé

Le benchmark exécute le même modèle FitzHugh-Nagumo bidimensionnel avec NumPy vectorisé et Numba parallèle. États, équations et itérations identiques permettent de comparer durée, erreur numérique et significativité.

D'entrées identiques à une comparaison de performance fondée

État initial

Les deux backends reçoivent la même grille et les mêmes paramètres

NumPy

L'implémentation vectorisée exécute la référence

Numba

Le backend compilé parallèle résout les mêmes équations

Vérification

Durée, erreur numérique et significativité sont mesurées

Rapports

Tableaux et graphiques rendent les résultats comparables

Ce que le système prend en charge

Simule un système FitzHugh-Nagumo bidimensionnel.

Compare NumPy et Numba dans des conditions identiques.

Utilise des limites périodiques et une diffusion à quatre voisins.

Produit CSV, graphiques et comparaisons statistiques.

Benchmark apparié mesuré

Dix échantillons appariés de 300 itérations par grille dans des conditions identiques.

Accélération Numba

8,50×

NumPy en 64 × 64

Accélération Numba

3,77×

NumPy en 128 × 128

Accélération Numba

2,44×

NumPy en 256 × 256

Test t apparié

< 0,001valeur p

Toutes les grilles

Erreur absolue maximale

2,3e-6–2,6e-6

Numba face à NumPy

Technologie

Stack

PythonNumPyNumbapandasSciPyMatplotlibFitzHugh-Nagumo modelCLICSV reports

Domaines

Calcul scientifiquePerformanceSimulation numériqueBenchmarkingPython

Explorateur du benchmark

Résultats de benchmark précalculés

Numba comparé à la référence NumPy

Choisissez une taille de grille pour comparer durée moyenne, accélération mesurée et cohérence numérique.

NumPy Numba
64 × 648,50×

plus rapide que la référence NumPy

Erreur absolue maximale
2.56e-6
Test t apparié
p = 7.50e-4
Échantillons × itérations
10 × 300
64²8,5×
128²3,77×
256²2,44×

Source : fichiers CSV du benchmark avec dix échantillons appariés de 300 itérations par grille. L'exécution reste dans le workflow du dépôt.

Voir les fichiers CSV sources sur GitHub

Conclusions

  • Numba réduit la durée pour chaque taille de grille testée.
  • Plusieurs tailles montrent l'évolution de l'accélération.
  • L'erreur numérique reste visible avec la performance et proche de NumPy.

Vous souhaitez examiner l'implémentation ?

Le dépôt contient le code source, les instructions d'installation et l'historique du développement.

Ouvrir le dépôt