Setup: Nehmen wir an, ich habe eine ziemlich detaillierte Software (in Julia), die die Interaktion mehrerer Module beteiligt. Ich habe das Gefühl, dass es langsamer läuft als es sollte. Typischerweise die first culprit to check for is type unstable functions, d. H. Funktionen, bei denen der Compiler nicht in der Lage ist, im Voraus zu bestimmen, was der Ausgabetyp sein wird.So erkennen Sie type unstable Funktionen in Julia
Frage: Wie kann ich diese Art instabiler Funktionen erkennen?
Was ich gerade mache: Ich benutze die Profilierungswerkzeuge, z. das ProfileView.jl Paket von @tholy, um Engpässe zu erkennen, unter der Annahme, dass type unstable functions hier auftauchen (wegen ihrer übermäßigen Laufzeit). Aber was wirklich schön ist, ist eine Art Debugging-Tool, das nach dem Ausführen einer Routine eine Liste von Funktionen ausgibt, bei denen der Compiler den Ausgabetyp nicht rechtzeitig ermitteln konnte. Ist das möglich?
Huh. Irgendwie war mir das TypeCheck-Paket überhaupt nicht bewusst, und es tauchte auch nicht bei meiner Suche auf. Genau darum geht es mir :-) Vielen Dank! –