Skip to content

Instantly share code, notes, and snippets.

@TopRoupi
Created November 7, 2019 05:43
Show Gist options
  • Save TopRoupi/dcc0a6f49ef02a6c0b52479bfa8d8999 to your computer and use it in GitHub Desktop.
Save TopRoupi/dcc0a6f49ef02a6c0b52479bfa8d8999 to your computer and use it in GitHub Desktop.
import multiprocessing
import time
from matplotlib import pyplot as plt
def fatorial(n):
r = 1
for i in range(1, n+1):
r *= i
return r
def t_mono(nums):
start = time.time()
tuple(map(fatorial,nums)) #calculo
end = time.time()
return round(end - start, 2)
def t_multi(nums):
start = time.time()
pool = multiprocessing.Pool()
tuple(pool.map(fatorial,nums)) #calculo
end = time.time()
return round(end - start, 2)
itens = 10
exp_mono = [t_mono ([ 2**16 for x in range(y) ]) for y in range(1, itens)]
exp_multi = [t_multi ([ 2**16 for x in range(y) ]) for y in range(1, itens)]
nums = [ 2**16 for x in range(6) ]
#print(t_mono(nums))
#print(t_multi(nums))
plt.plot(range(1,itens), exp_mono, label='mono', marker='o', linewidth=3)
plt.plot(range(1,itens), exp_multi, label='mono', marker='o', linewidth=3)
plt.show()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment