Почему этот код Python намного медленнее в Windows? - PullRequest
0 голосов
/ 07 октября 2018

Я пробовал этот итерационный код Python, чтобы получить последовательность Фибоначчи в Windows и Linux.Проблема в том, что этот код выполняется намного дольше в Windows, и я не знаю почему.Это связано с управлением памятью Windows?Обе ОС используют Python 3.

def fib(n):
     old = 0
     new = 1
     temp = 0

    for i in range(1,n):
        temp = new
        new = new + old
        old = temp

    return new

def main():
    a = 10000
    for i in range(1,51):
        start_time = time.time()
        fib(a)
        elapsed_time = time.time() - start_time
        print("%.10f" % elapsed_time)
        a = a+10000

Время измеряется в секундах.

График времени:

Time graph

Спасибо.

ОБНОВЛЕНИЕ: cProfile на обеих ОС

Linux

Windows

Время «перколл» кажетсябыть огромным в Windows по сравнению с Linux.

...