Calcolo scientifico
Repository GitHubBenchmark di reazione-diffusione
La stessa simulazione, due backend Python e un confronto rigoroso tra velocità e coerenza numerica.
Contesto: Calcolo scientifico, simulazione numerica e prestazioni Python
Periodo: 2026
Riepilogo
Il benchmark esegue lo stesso modello FitzHugh-Nagumo bidimensionale con NumPy vettoriale e Numba parallelo. Stati, equazioni e iterazioni identici permettono di confrontare tempo, errore numerico e significatività.
Da input identici a un confronto di prestazioni fondato
Stato iniziale
Entrambi i backend ricevono la stessa griglia e parametri
NumPy
L'implementazione vettoriale esegue il riferimento
Numba
Il backend compilato parallelo risolve le stesse equazioni
Verifica
Si misurano tempo, errore numerico e significatività
Report
Tabelle e grafici rendono confrontabili i risultati
Cosa gestisce il sistema
Simula un sistema FitzHugh-Nagumo bidimensionale.
Confronta NumPy e Numba in condizioni identiche.
Usa condizioni periodiche e diffusione a quattro vicini.
Produce CSV, grafici e confronti statistici.
Benchmark appaiato misurato
Dieci campioni appaiati di 300 iterazioni per griglia in condizioni identiche.
Accelerazione Numba
8,50×
NumPy a 64 × 64
Accelerazione Numba
3,77×
NumPy a 128 × 128
Accelerazione Numba
2,44×
NumPy a 256 × 256
Test t appaiato
< 0,001valore p
Tutte le griglie
Errore assoluto massimo
2,3e-6–2,6e-6
Numba rispetto a NumPy
Tecnologia
Stack
Aree
Esploratore del benchmark
Risultati precalcolati del benchmark
Numba confrontato con il riferimento NumPy
Scegli una dimensione della griglia per confrontare tempo medio, accelerazione misurata e coerenza numerica.
più veloce del riferimento NumPy
- Errore assoluto massimo
- 2.56e-6
- Test t appaiato
- p = 7.50e-4
- Campioni × iterazioni
- 10 × 300
Fonte: file CSV del benchmark con dieci campioni appaiati da 300 iterazioni per griglia. L'esecuzione resta nel workflow del repository.
Vedi i file CSV sorgente su GitHubConclusioni
- Numba riduce il tempo per ogni dimensione testata.
- Più dimensioni mostrano come scala l'accelerazione.
- L'errore numerico resta visibile accanto alle prestazioni e vicino a NumPy.
Vuoi esaminare l'implementazione?
Il repository contiene codice sorgente, istruzioni di configurazione e cronologia dello sviluppo.