то их вывожу но у меня постоянно десятки и единицы нулевые. почему я не могу получить наносекунды в единицах?
Что такое "наносекунды в единицах"?
https://doc.rust-lang.org/std/time/struct.SystemTime.html
тебе наверное вот это надо, да? https://docs.rs/chrono/0.4.19/chrono/struct.Duration.html#method.nanoseconds
а почему на rust? мне с++. или это уточнять надо было?
Посмотри на название чата :)
ну я просто только зашел и он поменялся...
здесь чат по расту, извините, можно уточнить в чате UB++ тут: @Supapro
а покажи-ка минимальный пример кода на годболте каком-нибудь
https://pastebin.com/NHg1zkvF
Ну можно например предположить, что часы не дают такую точность
подскажи, какая ОС у тебя? как верно подметили выше - мб часы такие
@webreh какая там точность у часов на винде, которые high_resolution?
она вроде должна быть QueryPerformanceCounter
ну вот у человека как-то не получаются наносекунды
А зачем дюрейшн каст?
Ну чтобы точно наносеки были
единица наносекунд это 3 такта ЦПУ, там скорее всего такой точности не будет просто
5400ns 405100ns 545400ns 672500ns 799100ns 926200ns ну это вот то что вначале выдаёт прога. все десятки и единицы нулевые
Просто дюрейшн, первый параметр шаблона дабл, второй стд нано
Соре, не могу пример накидать, с телефоном в дороге
Ну так мы не знаем в каких порядках часы дают duration при вычитании двух time point
Наверное все уже давно выяснилось, но на сколько я помню на винде какой-то из форматов времени использовал извращенную гранулярность вроде сотен наносекунд. И здесь chrono как раз хорош тем, что можно работать с этим форматом напрямую. Можно даже попробовать посмотреть тип, который возвращает таймер, возможно там в duration видно эту гранулярность.
тип? это вот это шоле ? class chrono::time_point<struct chrono::steady_clock, class chrono::duration<__int64, struct ratio<1, 1000000000>>> это то что подставляется под авто при вызове chrono::high_resolution_clock::now(); ну а поповоду наносекунд - как я понял там и bios участвует и частота проца и сама система и обновления к ней. и короче я посмотрел на это всё и понял что микросекунд мне вполне достаточно)
> ratio<1, 1000000000> хм. Это наносекунды. Значит где-то конвертят.
filetime вроде. Там ещё точка отсчёта какая то странная, в 17 веке
Обсуждают сегодня