Комментарии 14
Я может где-то не заметил, но в примерах вроде есть строки для замера времени выполнения, но не заметил сравнения cffi, pybind11 и ctypes. Интересно сравнить время исполнения, так как реализация мне кажется у них усложнена, по сравнению с ctypes.
Да, заложился что бы замерить и забыл про это. Завтра прогоню и результаты здесь выложу.
Выложил результаты в конце статьи, как ни странно ctypes оказался медленнее. Что меня удивило…
Да, удивительно… Спасибо. С pybind11 вроде разница не особо, а вот cffi значительно… Надо будет покопать и посмотреть что да как с ним более тщательно. Напрягли меня целый ряд ограничений, указанных вами для cffi. Ладно, спасибо за статью, и результаты сравнения.
Будет статья про Python/C API?
Спасибо. Как-то эта статья мимо меня прошла
UPD: нет, всё-таки не прошла. В той статье про вызов Python кода из С. Я имел в виду С-расширения для Python с использованием Python/C API (не путать с этой статьёй). Похоже, конечно же, но всё-таки немного с другой стороны.
UPD: нет, всё-таки не прошла. В той статье про вызов Python кода из С. Я имел в виду С-расширения для Python с использованием Python/C API (не путать с этой статьёй). Похоже, конечно же, но всё-таки немного с другой стороны.
Поинтересуюсь этим попозже.
Разобрался с этим вопросом, в ближайшее время напишу.
habr.com/ru/post/469043 держите
Не туда написал, не могу удалить комент.
На python проверять время исполнения через time.time() не очень корректно, особенно для маленьких операций. Есть встроенная библиотека timeit, разработанная специально для проверок производительности.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
C/C++ из Python (CFFI, pybind11)