У меня есть некоторый код, который выглядит следующим образом:распараллелить цикл в Python 2.4
for item in list:
<bunch of slow python code, depending only on item>
Я хочу, чтобы ускорить этот процесс за счет распараллеливания цикла. Обычно модуль multiprocessing
был бы идеальным для этого (см. Ответы на this question), но он был добавлен в python 2.6, и я застрял с использованием 2.4.
Каков наилучший способ распараллеливания цикла python в python 2.4?
Вы действительно застряли в python 2.4? Даже если вы используете старую систему Linux, вы обычно можете скомпилировать свою собственную версию более поздней версии Python (heck, даже Python 3.x), а затем поместить ее в локальный каталог, чтобы она не мешала системные установки по умолчанию. – HardlyKnowEm
Кроме того, вы можете записать медленную часть кода в C и использовать потоки. Threading не страдает от проблемы с Global Interpreter Lock, если вы не используете интерпретатор в низкоуровневом C-коде. – HardlyKnowEm
@mlefavor: У меня на самом деле установлен python3.2 в моем домашнем каталоге, но '<медленный код на Python>' зависит от кучки библиотек (matplotlib, scipy и некоторых собственных вещей), я не хочу для установки. Это та же самая причина, по которой я не хочу переписывать ее в C. – Dan