Я написал 3 разных кода, чтобы сравнить наличие потоков и отсутствие потоков. В основном измерение того, сколько времени я экономлю, используя многопоточность, и результат не имеет никакого смысла.
Вот мои коды:
import time
def Function():
global x
x = 0
while x < 300000000:
x += 1
print x
e1 = time.clock()
E1 = time.time()
Function()
e2 = time.clock()
E2 = time.time()
print e2 - e1
print E2 - E1
Когда я запустил это, я получил это как вывод:
26.6358742929
26.6440000534
Затем я написал еще одну функцию, как показано ниже, и разделил счет до 300 миллионов на счет 3, 100 миллионов:
import time
def Function():
global x
x = 0
while x < 100000000:
x += 1
print x
def Function2():
global x
x = 0
while x < 100000000:
x += 1
print x
def Function3():
global x
x = 0
while x < 100000000:
x += 1
print x
e1 = time.clock()
E1 = time.time()
Function()
Function2()
Function3()
e2 = time.clock()
E2 = time.time()
print e2 - e1
print E2 - E1
Вывод следующей функции:
26.0577638729
26.0629999638
и, наконец, я создал 3 потока и запустил каждую функцию в одном потоке:
import time
import threading
e1 = time.clock()
E1 = time.time()
def Function1():
global x
x = 0
while x < 100000000:
x += 1
print x
def Function2():
global x
x = 0
while x < 100000000:
x += 1
print x
def Function3():
global x
x = 0
while x < 100000000:
x += 1
print x
new_thread1 = threading.Thread(target = Function1() , args = ())
new_thread2 = threading.Thread(target = Function2(), args = ())
new_thread3 = threading.Thread(target = Function3(), args = ())
e1 = time.clock()
E1 = time.time()
new_thread1.start()
new_thread2.start()
new_thread3.start()
e2 = time.clock()
E2 = time.time()
print e2 - e1
print E2 - E1
Результатом этого было:
0.000601416222253
0.0
Эти цифры не имеют для меня никакого смысла. Я просто пытаюсь измерить, сколько времени экономит мне многопоточность. Я просмотрел документацию, и использование time.time
и time.clock
имело для меня смысл, но здесь это не имеет смысла. Кроме того, фактическое время для 1-го и 2-го фрагмента было около 10 секунд, а для 3-го - около 5.
multiprocessing
. - person dano   schedule 08.04.2015