Скорость — встраивание python в c++ или расширение python с помощью c++

У меня есть несколько больших баз данных mysql с данными для вычислений и некоторые части, где мне нужно получить данные с внешних веб-сайтов.

До сих пор я использовал Python для всего этого, но что я могу сказать: это не спидстер.

Теперь я думаю о том, чтобы смешать Python с C++ с помощью Boost::Python и Python C API.

Вопрос, который у меня есть сейчас: как лучше всего получить некоторую скорость. Должен ли я расширить python с помощью кода C++ или встроить код Python в программу C++?

Я наверняка получу некоторое увеличение скорости, используя код C++ для вычислительных частей, и я думаю, что вызов интерпретатора Python внутри C-приложения не будет лучше, потому что интерпретатор Python будет работать все время. И я должен обернуть вещи python-библиотеками, такими как mysqldb или urllib3, чтобы иметь хороший способ работы внутри C++.

Так что бы вы посоветовали сделать лучше: расширение или встраивание? (Я люблю язык python, но я также знаком с C++ и уважаю его за скорость)

Обновление: Поэтому я переключил некоторые части с python на c++ и использовал многопоточность (настоящую) в своих модулях c, и теперь моей программе требуется вместо 7 часов 30 минут :))))

0
задан 17 March 2012 в 19:52
поделиться