#python #process
#python #процесс
Вопрос:
Я хочу добавить несколько процессов, чтобы ускорить мою программу, но я обнаружил, что после добавления нескольких процессов время выполнения программы стало больше.Мой код выглядит следующим образом.
'''before'''
if __name__ == '__main__':
result = []
start_time = int(time.time())
for i in range(20000000):
result.append(demo3(i, i 1))
end_time = int(time.time())
print(result)
print(end_time - start_time)
'''Add multiple processes '''
def demo3(i, j):
return int(i) * int(j)
if __name__ == '__main__':
pool = multiprocessing.Pool(processes=10)
result = []
start_time = int(time.time())
for i in range(20000000):
result.append(pool.apply_async(demo3, args=(i, i 1)).get())
pool.close()
pool.join()
end_time = int(time.time())
print(result)
print(end_time - start_time)
Комментарии:
1. На моем компьютере 16 ядер
2. Ваши задачи крошечные по сравнению с накладными расходами на создание нового процесса.
3. Может быть, вы могли бы попробовать потоки вместо создания новых процессов.