Информация об изменениях

Сообщение Re[18]: А С++ то схлопывается... от 11.11.2019 0:11

Изменено 11.11.2019 2:07 vdimas

Re[18]: А С++ то схлопывается...
Здравствуйте, Ночной Смотрящий, Вы писали:

S>>Вы представляете, в C++ можно в одном месте хранить std::chrono::seconds, в другом std::chrono::milliseconds, в третьем std::chrono::minutes

НС>Вместо того чтобы везде хранить все в TimeSpan

Это который с фиксированной точностью 100 нс?
Уже десяток лет назад аппаратные таймеры шли с 10-нс разрешением, сегодня в среднем 1 нс.

TimeSpan публично выдаёт и вовсе микросекунды, а фактическую точность Ticks не декларирует и не гарантирует, ограничиваясь implementation-defined оговорками, мол, вот на такой-то архитектуре это столько-то.
В итоге имеет имеет слишком большую точность там, где не надо (занимая 64 бита, хотя в 99% этого не требуется) и недостаточную точность там, надо (те самые 1%, когда привычно вспоминаешь всех матерей всех разработчиков дотнетных либ, вместе взятых).

В общем, мне пришлось перетянуть на дотнет немного из модели плюсового chrono, бо там степень продуманности натурально несравнимая рядом с TimeSpan.
TimeSpan был оправдан в первом дотнете, но уже во втором должны были появиться вменяемые альтернативы.
Re[18]: А С++ то схлопывается...
Здравствуйте, Ночной Смотрящий, Вы писали:

S>>Вы представляете, в C++ можно в одном месте хранить std::chrono::seconds, в другом std::chrono::milliseconds, в третьем std::chrono::minutes

НС>Вместо того чтобы везде хранить все в TimeSpan

Это который с фиксированной точностью 100 нс?
Уже десяток лет назад аппаратные таймеры шли с 10-нс разрешением, сегодня в среднем 1 нс.

TimeSpan публично выдаёт и вовсе микросекунды, а фактическую точность Ticks не декларирует и не гарантирует, ограничиваясь implementation-defined оговорками, мол, вот на такой-то архитектуре это столько-то.
В итоге имеет имеет слишком большую точность там, где не надо (занимая 64 бита, хотя в 99% этого не требуется) и недостаточную точность там, где надо (те самые 1%, когда привычно вспоминаешь всех матерей всех разработчиков дотнетных либ, вместе взятых).

В общем, мне пришлось перетянуть на дотнет немного из модели плюсового chrono, бо там степень продуманности натурально несравнимая рядом с TimeSpan.
TimeSpan был оправдан в первом дотнете, но уже во втором должны были появиться вменяемые альтернативы.