Если вы действительно ограничены в вычислениях, использование многопроцессорного модуля , вероятно, является самым легким решением (с точки зрения потребления памяти и сложности реализации).
Если вы связаны с вводом / выводом, использование модуля потоков обычно даст вам хорошие результаты. Убедитесь, что вы используете поточно-ориентированное хранилище (например, очередь) для передачи данных в ваши потоки. Или же передайте им один фрагмент данных, который является уникальным для них, когда они появляются.
PyPy ориентирован на производительность. Он имеет ряд функций, которые могут помочь в обработке вычислений. Они также поддерживают программную транзакционную память, хотя это еще не качество продукции. Обещание заключается в том, что вы можете использовать более простые параллельные или параллельные механизмы, чем многопроцессорные (к которым предъявляются некоторые неудобные требования).
Stackless Python также хорошая идея. У Stackless есть проблемы с переносимостью, как указано выше. Unladen Swallow была многообещающей, но теперь несуществующей. Pyston - еще одна (незавершенная) реализация Python, ориентированная на скорость. Он использует подход, отличный от PyPy, который может привести к лучшему (или просто другому) ускорению.