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

#Байтоёбие Когда работаем с DateTime.Now и приходится в рамках одного метода

его несколько раз вызывать, как правильно делать:
1. Инициализировать переменную в методе и работать с ней
2. Не париться и везде использовать свойство Now

На сколько это емкая операция?
P.S На время все равно, нужна только дата.

42 ответов

25 просмотров

Проще самостоятельно забенчить, если интересно. Я сомневаюсь что кто-то даст точный ответ.

Valentin Marchuk
что такое забенчить?

Сделать бенчмарки с одним и с двумя вызовами и посмотреть разницу по времени выполнения.

в нет6 как раз ускорили эт штуку потому что испоритили во времена 3.1 но эт прям спички. тут вопрос как часто ты дерагешь и как тебе надо дальше обрабатывать типо зафиксировать момент на взоде к примеру

Посмотри на реализацию DateTime.Now

Valentin Marchuk- Автор вопроса
Phantom
Посмотри на реализацию DateTime.Now

она мне очем-нибудь скажет?

Valentin Marchuk
она мне очем-нибудь скажет?

Ну, если на каждом вызове будет выполнятся много операций, то конечно будет лучше записать в переменную

лучше UtcNow, так будет быстрее, а по факту можно забить

Valentin Marchuk- Автор вопроса
Сергей
лучше UtcNow, так будет быстрее, а по факту можно ...

понял, а есть вообще правила, где нужно UTC а где обычную дату использовать, если не брать в ращет кто быстрее/медленнее?

А зачем там DateTime.Now, раз ты берешь номер месяца?

Valentin Marchuk
понял, а есть вообще правила, где нужно UTC а где ...

если показывать пользователю не нужно лучше всегда Utc

Valentin Marchuk- Автор вопроса
Phantom
А зачем там DateTime.Now, раз ты берешь номер меся...

я пока реализую метод, так что еще переработаю, просто интересно стало

А и у тебя метод с точки зрения чистоты функции хуевый

Valentin Marchuk- Автор вопроса
Phantom
А и у тебя метод с точки зрения чистоты функции ху...

В плане, что нужно так делать: new DateTime(dt.Year, monthNumber, 1) или что ты имеешь ввиду?

Valentin Marchuk- Автор вопроса
Сергей
зачем там чистота?

так он же про функциональность а не про красивость

Valentin Marchuk
В плане, что нужно так делать: new DateTime(dt.Yea...

DateTime.Now берет время в момент вызова, как ты будешь с другим временем тестировать?

Сергей
зачем там чистота?

Чтобы тестировать и переиспользовать?

DateTime.Now довольно емкая операция, поэтому лучше один раз вызвать

Valentin Marchuk- Автор вопроса
Vadim Kokarev
DateTime.Now довольно емкая операция, поэтому лучш...

окей, как вы это понимаете? Есть статьи или другие источники?

Valentin Marchuk- Автор вопроса
Vadim Kokarev
Личный опыт и профилирование

ну как ты, сидел со stopwatch и чекал или другими способами?

Valentin Marchuk- Автор вопроса
Vadim Kokarev
Профилирование в VSке

ну ты же на рабочем проекте тестировал или написал свой метод, где юзал DateTime.Now и его мониторил, можешь описать процесс тезисно?

Vadim Kokarev
DateTime.Now довольно емкая операция, поэтому лучш...

сэкономить пару наносекунд чтобы потом базу данных подождать)

тут разве что ты можешь попасть на то, что у тебя будет первый день 1.09, а последний 30.10 если точно в нужное время сработает)

Я кстати вообще опасаюсь больше одного раза в таких случаях Now спрашивать, мало ли выстрелит в ногу потом в 00:00:00

Valentin Marchuk- Автор вопроса
Сергей
тут разве что ты можешь попасть на то, что у тебя ...

Хорошо, как бы ты написал этот метод, он вроде простой, чтобы работа как швейцарские часы?

Сергей
тут разве что ты можешь попасть на то, что у тебя ...

Можно сдохнуть от инфаркта, если в нужное время сработает!!!

Valentin Marchuk
Хорошо, как бы ты написал этот метод, он вроде про...

я бы сохранил в переменную, но не из-за производительности

Сергей
тут разве что ты можешь попасть на то, что у тебя ...

Мне интересно даже стало какая вероятность этого)

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта