pyOut
Сен. 27, 2010 17:10:08
Приветствую,
какой либе отдать предпочтение Boost или ctypes? Основная цель портирование С-кода. Интересует какой код будет быстрее работать после портирование?
Андрей Светлов
Сен. 27, 2010 17:32:51
Если С код - проще ctypes. К тому же, как понимаю, вам нужно всего лишь завернуть готовую библиотеку?
Для С++ лучший вариант - boost. ctypes, кстати, вообще для этого не предназначен.
По скорости будет так: Python C API -> boost -> ctypes.
Но, думаю, разница может быть не слишком велика. Все варианты довольно быстрые.
Нужно измерять на вашем проекте - соображениями общего плана не отделаться.
Вариант на ctypes, как правило, быстрее создавать и легче поддерживать.
Еще один неплохой вариант - делать обертку на Cython.
alexandre1
Июль 29, 2012 06:05:58
А в чем состоят минусы SWIG везде пишут что он намного проще boost::python. Но здесь на форуме часто звучит что swig лучше вообще не пользоваться. Чем boost лучше??
Андрей Светлов
Июль 29, 2012 16:25:37
SWIG был сделан очень давно и использует не самые лучшие решения — что потом выливается в проблемы.
boost на самом деле тоже очень простой в использовании, если всё делать правильно. При том что возможностей у него гораздо больше.
doza_and
Июль 31, 2012 21:19:30
Маленькое дополнение. SWIG - с/с++ -> any т.е. обертывалка с множеством целевых языков, а cytpes и boost только питон.
nerijus
Авг. 15, 2012 00:22:33
Приходилось писать враперы, лично мне после геморроя с boost (о swig вообще не говорю), лучший результат получился с sip.