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

Немного напрягает, что эти функции работаю примерно одинаковое время. Алгоритм: чтение

строчки с числами. Первое число на строке: кол-во чисел, которые надо прочитать. После прочтения обязательно дочитать до \n

Первый алгоритм использует форматирующие операторы потоков, второй читает строку целиком, делит на вектор слов, для преобразования ещё stoi используется.

После этого оба создают вектор прочитанных чисел, место в этом векторе уже резервируется.

Quick Bench пишет, что они почти идентичны. Неужели форматирующие операторы настолько медленные, что компенсируют затраты на динамическое создание вектора слов для SplitIntoWords? >> читает посимвольно, чтобы прочесть цифру, getline по сути то же самое делает.

Ссылка

7 ответов

17 просмотров

iostream медленные, да

Савва- Автор вопроса
Alexander Pshenichnikov
iostream медленные, да

И там и там потоки используются. В одном случае >>, в другом случае getline.

Савва
И там и там потоки используются. В одном случае >>...

А что вы хотите добиться или какую гипотезу проверить?

Савва- Автор вопроса
Alexander Pshenichnikov
А что вы хотите добиться или какую гипотезу провер...

Что быстрее. Но так как скорость по бенчмаркам одинаковое, мне интересно за счёт чего. Предполагал, что через >> ну чуток быстрее

Ты бы вот попробовал расписать в нотации два варианта твоего ритма Вот это было бы полезнее и интереснее чем бенчмарки...

Савва- Автор вопроса

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта