Zurück zum Projektarchiv

Wissenschaftliches Rechnen

GitHub-Repository

Reaktions-Diffusions-Benchmark

Dieselbe Simulation, zwei Python-Backends und ein sorgfältiger Vergleich von Geschwindigkeit und numerischer Konsistenz.

Kontext: Scientific Computing, numerische Simulation und Python-Performance

Zeitraum: 2026

Zusammenfassung

Der Benchmark führt dasselbe zweidimensionale FitzHugh-Nagumo-Modell mit vektorisiertem NumPy und parallelem Numba aus. Identische Zustände, Gleichungen und Iterationen stellen Laufzeit, numerischen Fehler und Signifikanz gegenüber.

Von identischen Eingaben zu einem belastbaren Performancevergleich

Anfangszustand

Beide Backends erhalten dasselbe Gitter und dieselben Parameter

NumPy

Die vektorisierte Referenz führt die Simulation aus

Numba

Das kompilierte parallele Backend löst dieselben Gleichungen

Prüfung

Laufzeit, numerischer Fehler und Signifikanz werden gemessen

Berichte

Tabellen und Diagramme machen Ergebnisse vergleichbar

Was das System abdeckt

Simuliert ein zweidimensionales FitzHugh-Nagumo-System.

Vergleicht NumPy und Numba unter identischen Bedingungen.

Verwendet periodische Randbedingungen und Vier-Nachbar-Diffusion.

Erzeugt CSV-Daten, Diagramme und statistische Vergleiche.

Gemessener gepaarter Benchmark

Zehn gepaarte Stichproben mit je 300 Iterationen pro Gitter unter identischen Simulationsbedingungen.

Numba-Beschleunigung

8,50×

NumPy bei 64 × 64

Numba-Beschleunigung

3,77×

NumPy bei 128 × 128

Numba-Beschleunigung

2,44×

NumPy bei 256 × 256

Gepaarter t-Test

< 0,001p-Wert

Alle Gittergrößen

Maximaler absoluter Fehler

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

Numba gegenüber NumPy

Technologie

Stack

PythonNumPyNumbapandasSciPyMatplotlibFitzHugh-Nagumo modelCLICSV reports

Bereiche

Wissenschaftliches RechnenPerformanceNumerische SimulationBenchmarkingPython

Benchmark-Explorer

Vorberechnete Benchmark-Ergebnisse

Numba im Vergleich zur NumPy-Referenz

Wähle eine Gittergröße und vergleiche mittlere Laufzeit, gemessene Beschleunigung und numerische Konsistenz.

NumPy Numba
64 × 648,50×

schneller als die NumPy-Referenz

Maximaler absoluter Fehler
2.56e-6
Gepaarter t-Test
p = 7.50e-4
Stichproben × Iterationen
10 × 300
64²8,5×
128²3,77×
256²2,44×

Quelle: gespeicherte Benchmark-CSV-Dateien mit zehn gepaarten Stichproben zu je 300 Iterationen pro Gitter. Die Ausführung bleibt Teil des Repository-Workflows.

CSV-Quelldateien auf GitHub ansehen

Ergebnisse

  • Numba verkürzte die Laufzeit für jede getestete Gittergröße.
  • Mehrere Größen zeigen die Skalierung der Beschleunigung.
  • Der numerische Fehler bleibt neben der Laufzeit sichtbar und nahe an NumPy.

Möchtest du die Implementierung prüfen?

Das Repository enthält Quellcode, Einrichtungshinweise und Entwicklungshistorie.

Repository öffnen