Разница времени выполнения одной и той же задачи при разном коде

Рейтинг: 0Ответов: 1Опубликовано: 26.03.2023

Код:

from time import time
def time_it(func):
    def include(*args, **kwargs):
        start = time()
        total = func(*args, **kwargs)
        end = time()
        print(f'Время: {end - start: .3f}')
    return include


@time_it
def func_for():
    arr = []
    for i in range(100000):
        arr.append(i)


@time_it
def func_iteration():
    arr = [i for i in range(100000)]


@time_it
def func_list_range():
    arr = list(range(100000))


func_for()
func_iteration()
func_list_range()

Время выполнения:

#Тест №1
Время:  0.008
Время:  0.004
Время:  0.003
-----------------
#Тест №2
Время:  0.008
Время:  0.005
Время:  0.002

Вопрос:

По какой причине такая разница во времени, хотя задача одна?

Ответы

▲ 0Принят

По причине того, что встроенные функции реализованы на си, а не на питоне.