2016-04-29 3 views
-1

У меня есть скрипт python, который использует numpy, sklearn и многие другие вещи. Этот скрипт должен анализировать онлайн-тысячи wav-файлов размером 500 КБ. И когда я запускаю в параллельном режиме, этот скрипт python потребляет почти всю память.Как ускорить скрипт python и уменьшить потребление памяти?

Мне интересно, возможно ли, например, «скомпилировать» скрипт python или сделать что-то, чтобы сделать его более дешевым для запуска скрипта параллельно.

Спасибо заранее!

ответ

0

Существует не такая вещь, как компиляции в python, хотя есть компиляция происходит неявно, но это не имеет ничего общего с этой проблемой. Вероятно, у вас не хватает памяти, потому что вы не контролируете количество параллельных процессов/потоков в своем приложении.

Вы можете создать пул, а затем работать с ним, чтобы иметь определенный контроль над потреблением ресурсов. от многопроцессорного импорта Бассейна

def f(x): 
    return x*x 

if __name__ == '__main__': 
    with Pool(5) as p: 
     print(p.map(f, [1, 2, 3])) 

Вы можете посмотреть по этой ссылке для получения более подробной информации https://docs.python.org/3.5/library/multiprocessing.html

Держите размер пула равно числу ядер в процессоре для оптимальной производительности.

Смежные вопросы