Скорость глотков - PullRequest
       6

Скорость глотков

9 голосов
/ 18 декабря 2010

Если бы я написал несколько классов на c ++, затем использовал бы swig для преобразования, чтобы потом я мог использовать их в python, будут ли они работать быстрее или медленнее, чем если бы я полностью переписал их в python?Или нет заметной разницы в скорости?

1 Ответ

5 голосов
/ 19 декабря 2010

Качество и скорость упаковщиков, сгенерированных SWIG, очень хорошие, и они, вероятно, будут так же хороши, как и упаковщики ручной работы.

Исходя из моего опыта, сами обертки очень тонкие и добавляют очень мало накладных расходов к нативным функциям, которые они оборачивают, что делает их совершенно правильным выбором для использования обернутых библиотек на python или любом другом поддерживаемом языке, и является хорошимспособ повторного использования кода.

однако для того, чтобы, если вы заинтересованы в производительности в дополнение к повторному использованию кода, перенос собственного кода, вероятно, окупится, только если у вас есть некоторые интенсивные вычислительные функции, такие как умножение матриц, вычисление MD5или CRC, сворачивание белков и т. д.

с другой стороны, иногда вы можете просто переписать все на простом языке, таком как python или C #, и наслаждаться лучшим кодом и лучшими инструментами при сопоставимой производительности.

...