Как правильно измерить производительность ноутбука Databrick?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как правильно измерить производительность ноутбука Databrick?

Сообщение Anonymous »

Вот мой код для преобразования одного поля столбца фрейма данных в тип данных времени:

Код: Выделить всё

col_value = df.select(df.columns[0]).first()[0]

start_time = time.time()
col_value = datetime.strftime(col_value, "%Y-%m-%d %H:%M:%S") \
if isinstance(col_value, datetime) \
else col_value
end_time = time.time()
elapsed_time = end_time - start_time
print(elapsed_time)
Значение elapsed_time равно 0,00011396408081054688, что вполне логично, что оно не требует особых усилий.
Однако после того, как я поместил этот код в цикл Python, все изменилось. стать странным. Вот код

Код: Выделить всё

for col in df.columns:
col_value = df.select(col).first()[0]

start_time = time.time()
col_value = datetime.strftime(col_value, "%Y-%m-%d %H:%M:%S") \
if isinstance(col_value, datetime) \
else col_value
end_time = time.time()
elapsed_time = end_time - start_time
print(elapsed_time)
После завершения выполнения этого кода я обнаружил, что elapsed_time увеличилось до 5 секунд!
Затем я удаляю логику преобразования времени и заново - повторите статистику, включая весь цикл:

Код: Выделить всё

loop_start_time = time.time()
for col in col_list:
start_time = time.time()
# Nothing was done here
end_time = time.time()
elapsed_time = end_time - start_time
print(col, elapsed_time)

loop_end_time = time.time()
loop_elapsed_time = loop_end_time - loop_start_time
print(f"Loop time cost {loop_elapsed_time} seconds")
Похоже, что каждый раунд без логики также будет стоить более 5 секунд, но весь цикл стоит всего 0,0026 секунды.
Почему это сделано случаться? Я что-то пропустил? Как правильно измерять стоимость каждого оператора и функции Python?

Подробнее здесь: https://stackoverflow.com/questions/791 ... k-notebook
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»