С помощью модуля подпроцесса, я бег 1000 звонков спать (1) параллельно:Параллельные вызовы сна не складываются
import subprocess
import time
start = time.clock()
procs = []
for _ in range(1000):
proc = subprocess.Popen(["sleep.exe", "1"])
procs.append(proc)
for proc in procs:
proc.communicate()
end = time.clock()
print("Executed in %.2f seconds" % (end - start))
На моих 4-ядерных машинах, это приводит к исполнению время в пару секунд, намного меньше, чем я ожидал (~ 1000 с/4).
Как его оптимизировать? Это зависит от реализации сна (это взято из Windows-Git-исполняемых файлов)?
Ну, конечно, время выполнения событий, происходящих параллельно, не складывается. Если я сплю 8 часов в то же время, вы спите в течение 8 часов, пройдите 16 часов? – user2357112
Почему вы ожидали 500 секунд? –
как вы придумали цифру 500? – njzk2