Geschwindigkeit der Swig-Wrapper

9

Wenn ich mehrere Klassen in C ++ schreiben würde, dann benutze swig, um die Konvertierung durchzuführen, damit ich sie später in Python verwenden kann, würden sie schneller oder langsamer laufen, als wenn ich sie komplett in Python umschreibe? Oder gibt es keine merkliche Geschwindigkeitsdifferenz?

    
a sandwhich 18.12.2010, 04:38
quelle

1 Antwort

5

Die Qualität und Geschwindigkeit von Wrappern, die von SWIG erzeugt werden, ist sehr gut und sie werden wahrscheinlich genauso gut funktionieren wie handgefertigte Wrapper.

Aus meiner Erfahrung heraus sind die Wrapper selbst sehr dünn und fügen den nativen Funktionen, die sie umschließen, nur wenig Overhead hinzu, was es zu einer vollkommen gültigen Wahl macht, umgebrochene Bibliotheken in Python oder einer anderen unterstützten Sprache zu verwenden Code.

Wenn Sie jedoch neben der Wiederverwendung von Code an Leistung interessiert sind, wird sich das Umschließen von nativem Code wahrscheinlich nur dann lohnen, wenn Sie rechenintensive native Funktionen wie Multiplizieren von Matrizen, Berechnen von MD5 oder CRC, Faltung von Proteinen usw. haben / p>

Andererseits können Sie manchmal einfach alles in einer einfachen Sprache wie Python oder C # umschreiben und besseren Code und bessere Tools mit vergleichbarer Leistung genießen.

    
Aviad Rozenhek 19.12.2010, 17:28
quelle

Tags und Links