Время выполнения функции в программировании не является статическим и может колебаться в зависимости от множества факторов.

Состояние системы: Функции исполняются в контексте операционной системы и аппаратного обеспечения, и поэтому время их выполнения может меняться в зависимости от текущей загрузки процессора, доступности оперативной памяти, состояния сети и других ресурсов системы.

Асимптотическая сложность: Алгоритмы имеют свойство называемое асимптотической сложностью (или “Big O” сложность), которое представляет собой оценку того, как время выполнения функции будет изменяться с увеличением размера входных данных.

Внешние зависимости: Время выполнения функции может быть также зависим от скорости и надежности внешних служб, таких как базы данных, веб-сервисы или другие API.

Оптимизации: Различные техники оптимизации кода, включая, но не ограничиваясь, кэшированием, мемоизацией и использованием более эффективных структур данных, могут влиять на время выполнения функции.

Параллелизм и конкурентность: В многопроцессорных или многопоточных системах время выполнения функции может быть существенно уменьшено за счет параллельного или конкурентного выполнения кода.

Все эти факторы делают время выполнения функции динамическим, а не фиксированным значением, и оно должно измеряться и анализироваться в контексте конкретной среды выполнения.

Создание

for i in range(500000000)

def test_list():
    return [i for i in range(N)]


def test_tuple():
    return tuple(i for i in range(N))


def test_set():
    return set(i for i in range(N))

Время создания списка: 16.392786040996725 секунд
Время создания кортежа: 23.41975608299981 секунд
Время создания множества: 59.3552262910016 секунд Быстрее всего создается список

Чтение из файла

def read_file_to_tuple(filename):
    with open(filename, 'r') as f:
        data_tuple = tuple(f.readlines())
    return data_tuple

100 Элементов

Время создания списка:      5.824999971082434e-05 секунд
Время создания кортежа:     2.2790998627897352e-05 секунд
Время создания множества:   4.4792002881877124e-05 секунд

10 000 Элементов

Время создания списка:      0.0006547919983859174 секунд
Время создания кортежа:     0.00043170799472136423 секунд
Время создания множества:   0.0008735410010558553 секунд

1 000 000 Элементов

Время создания списка: 0.05641287499747705 секунд
Время создания кортежа: 0.06046500000229571 секунд
Время создания множества: 0.16296950000105426 секунд

10 000 000 Элементов

Время создания списка: 0.8532043750019511 секунд
Время создания кортежа: 0.8773727499938104 секунд
Время создания множества: 2.1774421250011073 секунд

50 000 000 Элементов

Время создания списка: 6.3429488749970915 секунд
Время создания кортежа: 8.09005574999901 секунд