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

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

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

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

42 ответов

9 просмотров

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

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
Хорошо, как бы ты написал этот метод, он вроде про...

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

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

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

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

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

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Добрый день подскажите пожалуйста может кто то сталкивался с ошибками Sentry 22.10.0 развернутым из helm чарт в Kubernetes? Изначально 3 дня назад очень стало много событий ух...
Tire4 Finist Devops
1
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
почому оно не работает?
Vi Chapmann ٩( 💢•̀ з•́)و Chapmann
19
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
19
Так а кто может спарсить всех участников чата? Идишники
Magic
18
Карта сайта