Сообщение Re[4]: быстрый sprintf от 02.11.2022 10:06
Изменено 02.11.2022 10:57 maks1180
Re[4]: быстрый sprintf
M>>При копировании строки заранее неизвестной длины, мы должны делать проверку после записи каждого байта! Думаю такая проверка может снизить скорость в 1.5 раза.
_>Где вы увидели неизвестную длину?
Здесь например, срока p — имеет неизвестную длину
sprintf(buffer, "%s", p);
_>Где вы увидели неизвестную длину?
Здесь например, срока p — имеет неизвестную длину
sprintf(buffer, "%s", p);
Re[4]: быстрый sprintf
M>>При копировании строки заранее неизвестной длины, мы должны делать проверку после записи каждого байта! Думаю такая проверка может снизить скорость в 1.5 раза.
_>Где вы увидели неизвестную длину?
Здесь например, срока p — имеет неизвестную длину
sprintf(buffer, "%s", p);
Посмотрел я реализацию glibc (файл vfprintf-internal.c)там действительно сначало определяют длину строки, а потом уже её отдают в _IO_sputn
Получается делают в 2 прохода по строке p!
_>Где вы увидели неизвестную длину?
Здесь например, срока p — имеет неизвестную длину
sprintf(buffer, "%s", p);
Посмотрел я реализацию glibc (файл vfprintf-internal.c)там действительно сначало определяют длину строки, а потом уже её отдают в _IO_sputn
Получается делают в 2 прохода по строке p!