Aufruf von Python-Funktionen von Inline C mit scipy.weave

8

Kann ich eine Python-Funktion von Inline-C-Code aufrufen (mit Webart)?

Motivation: Ich habe ein wenig Code, den ich optimieren möchte, und habe den Engpass in einer Funktion identifiziert. Nach meinen üblichen Tricks wende ich mich normalerweise an scipy.weave.inline zur Optimierung. Leider ruft meine Funktion in diesem Fall eine andere Python-Funktion in einer inneren Schleife auf. Ich habe sichergestellt, dass die innere Funktion nicht das Geschwindigkeitsproblem verursacht, und ich möchte wirklich nicht auch in C schreiben müssen.

Minimal Beispiel:

%Vor%     
perimosocordiae 08.05.2011, 19:02
quelle

1 Antwort

11

Es ist ein wenig involviert, da Weave keine Möglichkeit hat, die Argumente automatisch zu marshallen und den Wert zurückzugeben. Sie müssen ein wenig mehr arbeiten:

%Vor%

Ausgabe:

%Vor%     
samplebias 08.05.2011, 19:35
quelle

Tags und Links