Почему вычисление факториала с использованием многопроцессорной обработки происходит медленнее, чем с использованием рекPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему вычисление факториала с использованием многопроцессорной обработки происходит медленнее, чем с использованием рек

Сообщение Anonymous »


Я пытаюсь найти более быстрый способ вычисления факториала. В следующем коде я сначала использую метод рекурсии, а затем другой метод, разделяя всю операцию на более мелкие вычисления и затем запуская их параллельно.

Вот мой код:

#!/usr/bin/env python3 время импорта из пула импорта многопроцессорной обработки импортировать itertools факт факта(n): если n==1: вернуть 1 еще: а=n*факт(n-1) вернуть def divid(начало, конец): м=1 для меня в диапазоне (начало, конец+1): м=м*я вернуть м пул=Бассейн() а=время.время() рез=факт(100) печать (разрешение) print ("Время, потраченное на вычисление факториала",(time.time()-a)*60) а=время.время() L = пул.starmap(делитель,[(1,25),(26,50),(51,75),(76,100)] ) м=1 для меня в списке (L): м=м*я print ("Результат", м) print("Время, потраченное на вычисление факториала с использованием многопроцессорной обработки",(time.time()-a)*60) Запустив этот код для факториала(100), я обнаружил, что метод рекурсии в 2 раза быстрее, чем использование многопроцессорной обработки.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»