Почему задача замедляется после добавления нескольких процессов?

#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. Может быть, вы могли бы попробовать потоки вместо создания новых процессов.