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

Сообщение Re[4]: [performance] чего-то я не понимаю в этой жизни от 04.07.2022 20:04

Изменено 04.07.2022 20:28 kov_serg

Re[4]: [performance] чего-то я не понимаю в этой жизни
Здравствуйте, ArtDenis, Вы писали:

AD>Оптимизатор JIT умеет профилировать и дополнительно оптимизировать налету учитывая особенности исполнения кода. Возможно дело в этом. Чтобы это повторить в плюсах, придётся немного попотеть: https://docs.microsoft.com/en-us/cpp/build/profile-guided-optimizations ))


Всё гораздо проще. 0x4000000*2*10 = 1.25Gb то есть за пределами кэша. И чем плотнее будут строки расположены тем быстрее будет парсить и пофигу на все ваши оптимизации если оно большую часть времени ждёт данных.
Просто сложите строки последовательно в utf8 через разделитель потом парсите. Будет сильно быстрее.

ps: Что-то у вас очень подозрительные результаты:
1.25Gb/840ms = 1.5Gb/s — такие скорости только у кэша или у 39 канальной DDR5-5200 или же у вас комп с HBM3
Re[4]: [performance] чего-то я не понимаю в этой жизни
Здравствуйте, ArtDenis, Вы писали:

AD>Оптимизатор JIT умеет профилировать и дополнительно оптимизировать налету учитывая особенности исполнения кода. Возможно дело в этом. Чтобы это повторить в плюсах, придётся немного попотеть: https://docs.microsoft.com/en-us/cpp/build/profile-guided-optimizations ))


Всё гораздо проще. 0x4000000*2*10 = 1.25Gb то есть за пределами кэша. И чем плотнее будут строки расположены тем быстрее будет парсить и пофигу на все ваши оптимизации если оно большую часть времени ждёт данных.
Просто сложите строки последовательно в utf8 через разделитель потом парсите. Будет сильно быстрее.

ps: Что-то у вас очень подозрительные результаты:
1.25Gb/840ms = 1.5Gb/s — такие скорости только у кэша или у 39 канальной DDR5-5200 или же у вас комп с HBM3

pps:
 const auto dt = tm::duration_cast<tm::milliseconds>(tm::steady_clock::now() - t0);

только у меня одного эта конструкция измеряет что-угодно только не реальное время?