Problem: Ich brauche einen sehr schnellen Weg in Python3
, um viele (in tausend) Funktionen am gleichen Argument zu bewerten. In gewisser Weise brauche ich das Gegenteil von NumPy's
Broadcasting, das ermöglicht, schnell zu bewerten eine Funktion bei mehrere Punkte.Schnelle Auswertung vieler Funktionen an einem Punkt in Python
Meine Lösung: Im Moment speichere ich einfach meine Funktionen in einer Liste und iteriere dann über die Liste mit einer klassischen for-Schleife, um alle Funktionen einzeln auszuwerten. Dies ist jedoch viel zu langsam.
Beispiele, Ideen und Links zu Paketen sind sehr willkommen.
Bearbeiten: Die Leute haben gefragt, wie die Funktionen aussehen: 1. Sie sind rechnerischer Natur. Keine I/O. 2. Sie beinhalten nur die üblichen algebraischen Operationen wie +, -, *,/und ** sowie eine Indikatorfunktion. Also keine trigonometrischen Funktionen oder andere spezielle Funktionen.
Haben Sie versucht mit Threads? Und PyPy? –
Können Sie ein Beispiel Ihrer Liste veröffentlichen? –
hast du ein Listenverständnis versucht? '[func (arg) für func in list_of_func]' – Kasramvd