Seq VS Par

sekvencijalno / paralelno izvrsavanje
 avatar
unknown
python
4 years ago
1.2 kB
4
Indexable
import time
import multiprocessing as mp

ciklus = 1000 * 10000

def t():
    for x in range(ciklus):
        fdiv = ciklus / 2.0
        fcom = (x > fdiv)
        fadd = fdiv + 1.0
        fsub = fdiv - 2.0
        fmul = fdiv * 2.0

if __name__ == '__main__':
    print("  Startovano {} ciklusa CPU računanja".format(ciklus))
    start_time = time.time()
    t()
    t()
    t()
    t()
    t()
    t()
    t()
    t()
    print("Sekvencijalno izvršavanje završeno za %.2f sekundi." % (time.time() - start_time))

    # 8

    start_time = time.time()
    p1 = mp.Process(target=t)
    p2 = mp.Process(target=t)
    p3 = mp.Process(target=t)
    p4 = mp.Process(target=t)
    p5 = mp.Process(target=t)
    p6 = mp.Process(target=t)
    p7 = mp.Process(target=t)
    p8 = mp.Process(target=t)

    p1.start()
    p2.start()
    p3.start()
    p4.start()
    p5.start()
    p6.start()
    p7.start()
    p8.start()

    p1.join()
    p2.join()
    p3.join()
    p4.join()
    p5.join()
    p6.join()
    p7.join()
    p8.join()

    print("Paralelno (8 proc) izvršavanje završeno za %.2f sekundi." % (time.time() - start_time))
Editor is loading...