170 похожих чатов

Почему не получается занести измерение времени на выполнение кода в

функцию?

Когда я полняю функцию, то печатаются какие-то непонятные значения типа 9.5367431640625e-07

Это почему такое может быть?

Я определенно чего-то не понимаю. Еще бы понять чего...

Без функции все норм.

91 ответов

23 просмотра

3 строчка code так и должно быть?

Hello, World!
3 строчка code так и должно быть?

ну да Чтобы например сделать так measure(w(12,"\n"))

Это число означает 9.5367*10^-7

def mesure(f, *args, **kwargs): start = ... res = f(*args, **kwargs) print(...) return res mesure(w, 12, "\n")

Kirill Kuzminykh
def mesure(f, *args, **kwargs): start = ... ...

Что это такое вообще и главное зачем?)

Kirill Kuzminykh
Это то что тебе нужно.

как это будет измерять время?

А что не так с маленькими значениями?

Pavel Павлик
А что не так с маленькими значениями?

Начнем хотя бы с того что они неправильныеъ

Oleh Kopyl – serial entrepreneur 🇺🇦
screenshot Начнем хотя бы с того что они неправильныеъ

Почему неправильные? Ты в функцию передаешь None и зачем-то делаешь просто code

Oleh Kopyl – serial entrepreneur 🇺🇦
screenshot

Решил Я что-то в шоке, что ни один из осуждающих меня профессоров Гарврада не знал решения 😂😂😂

Ой, не то. Еще выше сообщение

Oleh Kopyl – serial entrepreneur 🇺🇦
Решил Я что-то в шоке, что ни один из осуждающих ...

Надеюсь осуждающие меня станут умнее. Делюсь с вами, дорогие мои

Oleh Kopyl – serial entrepreneur 🇺🇦
screenshot Надеюсь осуждающие меня станут умнее. Делюсь с вам...

from functools import partial import time def timer(func): def wrapper(*args, **kwargs): start = time.monotonic() func(*args, **kwargs) end = time.monotonic() print("EXEC. TIME: {}".format(end - start)) return wrapper @timer def measure(code): code() def add(b, x): time.sleep(2) return b + x measure(partial(add, 1, 2))

Oleh Kopyl – serial entrepreneur 🇺🇦
screenshot Надеюсь осуждающие меня станут умнее. Делюсь с вам...

о, великий питонист! а теперь объясни, что будет, если в measure вставить measure?

Kel0
from functools import partial import time def t...

А можно не так больно, пожалуйста? Я же человек всего лишь, а не программист

Alex
что это за хрень такая?

А в чем проблема?)

Alex
в том что это не работает

Почему у меня работает?) Да, случайно затер 1

Oleh Kopyl – serial entrepreneur 🇺🇦
Зачем в в measure вставлять measure?)))

а зачем было создавать measure в первую очередь?

Oleh Kopyl – serial entrepreneur 🇺🇦
Почему у меня работает?) Да, случайно затер 1

возможно ты принимаешь желаемое за действительное

b
так оно же не работает

Окей, верну 1, что ж вы придрались) Говорю же, случайно затер)

Oleh Kopyl – serial entrepreneur 🇺🇦
screenshot Окей, верну 1, что ж вы придрались) Говорю же, сл...

ну и? этот код вс еравно не работает так как ты ожидаешь

Kel0
а где ты видишь боль? Код чистый и понятный, хз...

Ну смотри, я хочу в аргументах measure() измерять любой код

Oleh Kopyl – serial entrepreneur 🇺🇦
screenshot Окей, верну 1, что ж вы придрались) Говорю же, сл...

Python 3.8.3 (default, May 17 2020, 18:15:42) [GCC 10.1.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> def measure(code): ... start = time.monotonic() ... code ... print(time.monotonic()-start) ... >>> import time >>> measure(time.sleep(1)) 2.1923333406448364e-06 <------!!!! >>> measure(time.sleep(2)) 1.8528662621974945e-06

Anton Grouchtchak
(он args и kwargs боится)

аргс юзаю, но нафига оно мне тут?)

Kel0
from functools import partial import time def t...

вот это работает корректно

b
и что? код не работает

декоратор на максималках

Oleh Kopyl – serial entrepreneur 🇺🇦
Почему не работает как я ожидаю?

потому что ты измеряешь время получения значения имени code

Oleh Kopyl – serial entrepreneur 🇺🇦
не то

как не то, он запустил твой же код

Oleh Kopyl – serial entrepreneur 🇺🇦
вывод

Блин, я понимаю, ты способный, но иногда не нужно спорить, а пытаться понять собеседника

Slam!
Блин, я понимаю, ты способный, но иногда не нужно ...

мы тут всем чатом пытаемся понять, зачем это делать, код не хуй, мерять не надо

Slam!
Олежа, ты рофлишь?)

все так и задуманно

Anton Grouchtchak
мы тут всем чатом пытаемся понять, зачем это делат...

Хуй всё-таки на каком-то этапе жизни померить надо

Oleh Kopyl – serial entrepreneur 🇺🇦
Ладно, и правда не то

Понимаешь, ты даже свой код не можешь проверить

Kel0
from functools import partial import time def t...

TypeError: 'NoneType' object is not callable Что measure(time.sleep(1)) Что measure(partial(time.sleep(1)))

Oleh Kopyl – serial entrepreneur 🇺🇦
TypeError: 'NoneType' object is not callable Что ...

похоже тебе стоит все таки уже выучить разницу между получением ссылки на функцию и ее вызовом

Oleh Kopyl – serial entrepreneur 🇺🇦
TypeError: 'NoneType' object is not callable Что ...

почитай про partial, и прочитай как я передовал аргументы

Kel0
почитай про partial, и прочитай как я передовал ар...

Фигня какая-то Проще уже тогда start = time.monotonic() time.sleep(1) p(time.monotonic() - start)

Oleh Kopyl – serial entrepreneur 🇺🇦
Фигня какая-то Проще уже тогда start = time.mono...

проще немного почитать про timeit, и посмотреть туториалы может

Slam!
Вот так

Но это тоже много кода. Хочется покороче

Kel0
проще немного почитать про timeit, и посмотреть ту...

timeit может замерить время выполнения с меньшим кол-вом кода чем тут?) https://t.me/ru_python/1346135

Oleh Kopyl – serial entrepreneur 🇺🇦
Но это тоже много кода. Хочется покороче

Напиши свой язык, в котором будет встроенный оператор измерения времени.

Oleh Kopyl – serial entrepreneur 🇺🇦
Дай мне пару дней

Да хоть целый год, если это поможет тебе не писать в чат.

Alex
Напиши свой язык, в котором будет встроенный опера...

А что у питона есть для реализации своих операторов (вспомнился goto)?

Oleh Kopyl – serial entrepreneur 🇺🇦
Фигня какая-то Проще уже тогда start = time.mono...

Бл. >>> from functools import wraps >>> import time >>> def timeit(f): ... @wraps(f) ... def timed(*args, **kw): ... tstart = time.monotonic() ... output = f(*args, **kw) ... tend = time.monotonic() ... print(f"'{f.__name__}' executed in {tend-tstart:.6f}s") ... return output ... return timed ... >>> @timeit ... def sleep(n): ... time.sleep(n) ... return "wakeup" ... >>> sleep(1) 'sleep' executed in 1.001066s 'wakeup' >>> Ну куда уже проще то?

sexxst
Бл. >>> from functools import wraps >>> import tim...

Как куда? Нафига мне функцию которую я хочу измерить еще определять?

Oleh Kopyl – serial entrepreneur 🇺🇦
Как куда? Нафига мне функцию которую я хочу измери...

>>> time.sleep(1) >>> time.sleep = timeit(time.sleep) >>> time.sleep(1) sleep executed in 1.001044s Хотя это фу, лучше уж так: >>> t = timeit(time.sleep) >>> t(1) sleep executed in 1.001045s

sexxst
>>> time.sleep(1) >>> time.sleep = timeit(time.sle...

ну да, это коротко, но все равно не то. Неужели нельзя как-то короче и чище?

sexxst
>>> timeit(time.sleep)(1) sleep executed in 1.0010...

Не понял прикол. Тут нужно переписывать еще то, что измеряешь

sexxst
>>> timeit(time.sleep)(1) sleep executed in 1.0010...

и вообще как это может работть sleep() takes exactly one argument (0 given)

И определять функцию которую я хочу замерить? не, пасиба

хахахахахаахахахахаахха

Oleh Kopyl – serial entrepreneur 🇺🇦
И определять функцию которую я хочу замерить? не, ...

Где ты тут видишь своё определение для time.sleep()? timeit(time.sleep)(1)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта