Форум программистов, компьютерный форум CyberForum.ru

Функции вывода - C++

Восстановить пароль Регистрация
 
YourLastSong
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
16.07.2011, 23:55     Функции вывода #1
Здравствуйте, уважаемые господа.

По некоторым причинам мне очень важна скорость вывода различных строк и символов на экран консоли, в связи с чем задумался об использовании какой-либо конкретной функции.

Разумеется, std::cout в этом случае, я думаю, лучше не использовать.

Проверил скорость выполнения printf ("%c", ch) и putchar (ch) — оказалось, что первый способ работает быстрее. Почему? Ведь putchar не должен разбирать формат строки.

Вместо printf для константных строк, я думаю, лучше будет использовать puts, да?

Что ещё можно использовать в данном случае?

Действительно ли write работает быстрее или нет всё же?

Заранее благодарю за возможные ответы.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.07.2011, 01:49     Функции вывода #2
Цитата Сообщение от YourLastSong Посмотреть сообщение
Проверил скорость выполнения printf ("%c", ch) и putchar (ch)
как проверяли?
YourLastSong
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
17.07.2011, 01:52  [ТС]     Функции вывода #3
Цитата Сообщение от Maxwe11 Посмотреть сообщение
как проверяли?
Выводил символ в цикле, после чего проверял значение при помощи GetTickCount.

Скорее всего, есть способ лучше.
Zverit
Уничтожитель печенек
 Аватар для Zverit
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
17.07.2011, 12:43     Функции вывода #4
Цитата Сообщение от YourLastSong Посмотреть сообщение
Скорее всего, есть способ лучше.
В некоторых IDE есть счетчик времени выполнения программы
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
17.07.2011, 15:02     Функции вывода #5
Цитата Сообщение от YourLastSong Посмотреть сообщение
Скорее всего, есть способ лучше.
Можно посмотреть в сторону boost::timer
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
17.07.2011, 15:33     Функции вывода #6
Ещё в новом релизе буста 1.47 появилась библиотечка boost::chrono, тоже может сгодиться для измерений. Инфа : boost::chrono
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2011, 08:39     Функции вывода
Еще ссылки по теме:

Функции ввода / вывода, вычисления (исправить ошибки) C++
C++ Написать функции 1 вывода массива на экран
Стандартные функции ввода/вывода языка Си C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
18.07.2011, 08:39     Функции вывода #7
Цитата Сообщение от YourLastSong
Вместо printf для константных строк, я думаю, лучше будет использовать puts, да?
fputs()
puts() добавляет перевод строки

Цитата Сообщение от YourLastSong
Проверил скорость выполнения printf ("%c", ch) и putchar (ch) — оказалось, что первый способ работает быстрее.
putchar() может быть макросом, использующим putc()
putc() может быть макросом, использующим fputc()
сравни printf() и fputc()
Yandex
Объявления
18.07.2011, 08:39     Функции вывода
Ответ Создать тему
Опции темы

Текущее время: 06:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru