У меня есть относительно длинный (20000 строк) CSV-файл и простая функция, которую я написал, чтобы открыть его:
def read_prices():
with open('sp500.csv', 'r') as f:
reader = csv.DictReader(f)
for row in reader:
yield float(row['Adj Close'].strip())
, когда я рассчитываю время таким, какое оно есть, 3e-05s
:
print(timeit.timeit(lambda: read_prices(), number=100))
когда я запускаю ту же функцию, но с tuple(...)
требуется колоссальное 27s
:
print(timeit.timeit(lambda: tuple(read_prices()), number=100))
Это нормально для tuple()
? Почему это может быть? Я новичок, поэтому объяснения ELI5 приветствуются:)