Answer
t.me/python_tesstОтвет:
k=2
speed CPU-10.273121356964111 seconds ---
speed CPU-10.412487745285034 seconds ---
k=1
speed CPU-11.437190771102905 seconds ---
speed CPU-11.547504901885986 seconds ---
Объяснение:
Код на Python описывает параллельный вариантах, что и показано в листинге вычислительной модели, которая отлична от типовой архитектуры процессоров. Вычислительная модель Python, ей соответствует, а автоматная модель вычислений, о которой далее пойдет речь, имеет другую архитектуру и это будет определять специфику ее тестирования. Какая будет скорость и будет ли иметь место мистика выяснится в процессе тестирования «автоматного кода». В нашем случае он дополнен строками, фиксирующими время работы, а последовательный тест заключен в «обертку», позволяющую задавать число повторений (следствие моего знакомства с декораторами в Python).
Код:
import time
from threading import Thread
def count(n):
start_time = time.time()
while n > 0:
n -= 1
print("speed CPU-%s seconds ---" % (time.time() - start_time))
k = 2
while k > 0:
print("k=%d " % k)
t1 = Thread(target=count,args=(100000000,)); t1.start()
t2 = Thread(target=count,args=(100000000,)); t2.start()
t1.join();
t2.join();
k -= 1