|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 18:16 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
Будет быстрее на пару наносекунд. Константа это адрес в памяти где значение, переменная это адрес в памяти где переменная, в ней адрес где значение. Учитывая тормознутость cout ускорения не увидишь и не измеришь. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 18:34 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
Вывод "тормозит" вовсе не в этом месте. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 18:35 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
Dima T Будет быстрее на пару наносекунд. Константа это адрес в памяти где значение, переменная это адрес в памяти где переменная, в ней адрес где значение. Учитывая тормознутость cout ускорения не увидишь и не измеришь. а если не cout, а STDOUT, например? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 18:44 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
Консольный вывод тормозит именно в консоли. То есть там, где ты не сможешь повлиять. ... Однако, можешь направить вывод в свой поток "в память", и свой вьювер, вместо консоли. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 18:55 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
бабушкин зайчик а если не cout, а STDOUT, например? Это почти одно и то же с точки зрения быстродействия. Если под винду - пишите в файл, будет быстрее, намного. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 18:55 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
Aklin, под линух как файл может быть быстрее памяти? может в сокет вы имеете ввиду? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 19:01 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
бабушкин зайчик Aklin, под линух как файл может быть быстрее памяти? может в сокет вы имеете ввиду? Консоль - медленная, в сотый раз повторяю. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 19:05 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
ъъъъъ, ну технически строка вообще по сети уходит ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 19:11 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
бабушкин зайчик, по какой ещё "сети"? Да, std::cout можно куда хочешь направить, но как по твоему стартовому сообщению понять, что именно ты делаешь и что тебе нужно? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 19:28 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
printf() быстрее cout готовит данные для вывода, а куда выводишь это вторично. PS Ты бы задачу описал целиком, а то выглядит примерно так: "Как быстрее из Москвы в Питер на велике с педалями фирмы А или Б, или на машине?" ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 21:10 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
бабушкин зайчик Код: sql 1.
Кажется С++ должен это собрать в такую колбасу. Лево-ассоциативность типа. Код: plaintext 1.
Поэтому конкатенации вроде здесь не должно быть. Хотя было-бы интересно. Но сложно доказывать что не сломается логика. Переменные вроде как агрессивный компиллятор убирает. Поэтому они по сути остаются синтаксическим сахарком для девелопера. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 21:46 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
бабушкин зайчик Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 22:02 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
mayton, вот как раз это меня и интересовало - как там под капотом вывод идёт через << т.е. там ostream какой-то ну а вопрос простой: сразу в << кидать, или переменные собирать, а потом заслать их всех через конкатенацию (через << их складывать - это я лишку дал) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 22:25 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
endl при вызове сбрасывает буфер вывода весь вопрос в выделении a,b,c при каждом выполнении "программы" либо отдачи в вывод готового набора Я гарантирую что Второе быстрее... PS Это похоже на спортивное программирование. Проверяется спортом...) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 22:48 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
Alex_Ustinov endl при вызове сбрасывает буфер вывода а при перенаправлении в файл буферизуется и нефига не сбрасывается без лишних танцев с бубнами сбрасывается "случайно" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2021, 21:36 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
абсолютно всё равно ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 11:45 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
MasterZiv абсолютно всё равно почему, какой механизм? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 16:19 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
бабушкин зайчик, вариант без переменных: Код: plaintext 1.
Самый быстрый. Вариант с переменными типа const char*: Код: plaintext 1. 2. 3. 4.
Будет работать с такой же скоростью (в этом варианте будет 3 вызова функции strlen, но в предыдущем варианте они скорее всего тоже будут). Вариант с переменными типа std::string: Код: plaintext 1. 2. 3. 4.
Будет работать помедленнее, потому что конструктор std::string динамически выделяет блок памяти в heap-е и копирует туда строковый литерал, потом деструктор std::string освобождает блок памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2021, 23:44 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
Пётр Седовконструктор std::string динамически выделяет блок памяти в heap-е и копирует туда строковый литерал, потом деструктор std::string освобождает блок памяти. Во-первых, там есть short string optimization. Во-вторых, компилятор эти переменные может довести до constexp и вообще ничего не оставить на время выполнения. В-третьих, С++ это вообще не про скорость. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2021, 01:24 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Во-первых, там есть short string optimization. Dimitry Sibiryakov Во-вторых, компилятор эти переменные может довести до constexp и вообще ничего не оставить на время выполнения. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Компилятор кстати вызов функции strlen оптимизировал в константу: Код: sql 1.
0Ch = 12 = strlen("много текста") (кодировка code page 1251) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2021, 04:14 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
Пётр Седов Вариант с переменными типа std::string: Код: plaintext 1. 2. 3. 4.
Будет работать помедленнее, потому что конструктор std::string динамически выделяет блок памяти в heap-е и копирует туда строковый литерал, потом деструктор std::string освобождает блок памяти. вот самый быстрый вариант: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2021, 19:30 |
|
будет ли быстрее печать текста БЕЗ переменных?
|
|||
---|---|---|---|
#18+
бабушкин зайчик, а, так вы ищите самый быстрый способ для конкатенации строк? Да, если есть возможность сделать осмысленный reserve, то это быстрее всего. std::cout (который у вас упомянут в первом сообщении) -- он для вывода текста на консоль, а не для конкатенации строк. Для конкатенации строк можно использовать класс std::ostringstream: Код: plaintext 1. 2. 3. 4. 5. 6.
Но этот способ не самый быстрый, потому что reserve не сделать, и метод str копирует данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2021, 04:11 |
|
|
start [/forum/topic.php?fid=57&msg=40105985&tid=2017161]: |
0ms |
get settings: |
20ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
539ms |
get tp. blocked users: |
1ms |
others: | 326ms |
total: | 977ms |
0 / 0 |