Я собираюсь написать некоторый вычислительно-интенсивный код Python, который почти наверняка проведет большую часть своего времени внутри функций линейной алгебры numpy.
Проблема под рукой неловко параллельна. Короче говоря, самым простым способом для меня воспользоваться этим было бы использование нескольких потоков. Главным барьером почти наверняка станет Глобальная блокировка переводчика (GIL).
Чтобы помочь в разработке этого, было бы полезно иметь ментальную модель, для которой можно ожидать, что операции numpy будут выпускать GIL для их продолжительности. С этой целью я был бы признателен за любые эмпирические правила, dos и don'ts, указатели и т.д.
В случае, если это имеет значение, я использую 64-разрядный Python 2.7.1 для Linux, numpy 1.5.1 и scipy 0.9.0rc2, построенный с использованием Intel MKL 10.3.1.