[Python] multithreaded optimization
От: Аноним  
Дата: 17.04.10 10:19
Оценка:
Привет всем,

Возникла такая проблема. Есть средних размеров программа (200КБ кода где-то) написанная на OOP матлабе, которая что-то вычисляет. Суть этой программы не сводится к манипуляциям с матрицами, и потому она, даже ускоренная где можно, работает очень медленно. Задача стоит ее сильно, хотя бы в 10 ускорить. По прикидкам, простым переписыванием на питоне(+numpy+scipy) программу можно ускорить в 2-3 раза. Остальное хочется добрать за счет распараллеливания, т.к. задача хорошо делится на независимые куски и работает на 8миядерной машине (при этом во время исполнения матлабовского варианта хорошо видно, что в каждый момент времени задействовано только одно ядро).

Я не большой специалист в питоне и так что есть несколько вопросов:
1. Я много слышал про то, что у питона проблемы с многопоточностью, GIL и все такое. Насколько это важно в моем случае? Получится ли в итоге полностью загрузить все 8 ядер?
2. Насколько это сложно сделать и как тяжело будет такую программу отлаживать?
3. Существует ли для питона какой-нибудь хороший профайлер?

Заранее спасибо за ответы. Буду так же благодарен просто и за ссылки на то, что стоит прочитать по теме.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.