Найти - Пользователи
Полная версия: сложение/вычитание вещественных чисел
Начало » Python для новичков » сложение/вычитание вещественных чисел
1 2 3
Андрей Светлов
Сейчас - финансовый софт. Т.е. чисел в нем просто дохрена. И чуть-чуть больше. Низкая производительность decimal становится заметной на performance tests.
А толку - заворачивать в DLL? Мне-то нужен нормальный питоновский интерфейс. Т.е. PYD, если уж на то пошло.
Lexander
Андрей Светлов
А толку - заворачивать в DLL? Мне-то нужен нормальный питоновский интерфейс. Т.е. PYD, если уж на то пошло.
По сути то PYD-файл - это и есть DLL. Просто расширение другое. Поменять расширение файла и - вперед.
Под *никсами питоновский модуль расширения (extension module) имеет расширение SO.

Могу ошибаться, но вроде как с версии 2.5 кушаются и файлы с раширением DLL.
Lexander
На всякий случай решил дописать: да, конечно, DLL должна быть сделана так, чтобы Питон ее понимал и сделана была на С/С++.
Ну это так, для потомков уточнение, а не для вас.
Cleric
PYD это не просто DLL'ка, как вы например представляете вызов фунции void* func() из питона?
то о чём вы говорите называется ctypes
Lexander
Cleric
См. предыдущий пост.
Андрей Светлов
Lexander
То, о чем вы говорите - называется Python C Extension.
И отличается эта штука от “обычной” DLL далеко не только расширением файла :)
Раз я хотел завернуть decNumber, но не завернул - то да, делать PYD не пробовал :)

Как выглядит процесс - представляю отлично. Если andreytata пишет, что он “на Python C API не одну собаку съел” то я, можно сказать, рассказывал ему о рецептах приготовления оного зверя и предпочтительных соусах.

Так что вполне отдаю себе отчет в трудоемкости требуемой операции. К тому же если выкладывать в ОпенСорс - нужно делать на “голом API”. Столь любимый мною boost.python просто не смотрится в таком контексте. Не поймут-с. Работы немало. Быть может, когда-нибудь таки соберусь с духом.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB