Die Berechnung einer Mandelbrot-Menge beschleunigen
Der Wolfram Compiler unterstützt eine Vielzahl von Wolfram Language-Funktionen für numerische Berechnungen wie Plus, Power, Sin, etc., sowie viele Programmiersprachenelemente. Starke Typ-Inferenzregeln ermöglichen die automatische Ableitung der Ausgabeart von Variablen.
Die folgende Funktion berechnet die Anzahl der Iterationen, die erforderlich sind, um über den kritischen Wert , der die Mandelbrot-Menge definiert, hinaus zu gelangen. Beachten Sie, dass eine Funktion die Eingabe mit der neuen Annotation Typed als komplexe Variable deklariert.
FunctionCompile bestimmt, dass die Eingabe eine komplexe Zahl aus der Typed-Annotation ist, leitet aber automatisch ab, dass die Ausgabe eine ganze Zahl ist .
Messen Sie, wie lange es dauert, jede Funktion auf ein Raster in der komplexen Ebene anzuwenden.
Die beiden Ergebnisse sind identisch.
Die kompilierte Funktion weist jedoch eine Beschleunigung um den Faktor 40 auf.
Visualisieren Sie mit ArrayPlot und einem fünfmal feineren Raster die Ergebnisse.