![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
всем привет.
следующий код:
http://liveworkspace.org/code/1d747c7e7fe2...3c646bfe48cde66 выдает такие результаты:
время в миллисекундах. любопытны три момента: 1. почему sscanf() работает так долго? 2. почему ostringstream работает быстрее чем sprintf() ? 3. может кто-то встречал реализацию форматировщиков ввода-вывода, работающую быстрее протестированных? спасибо. Это сообщение отредактировал(а) boostcoder - 2.6.2011, 14:29 |
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
хм.. а не кажется ли, что сравнение изначально нечестное ? Это сообщение отредактировал(а) mes - 2.6.2011, 12:21 |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
в смысле, что stream`ам приходится выполнять по две операции? или что? |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
в том смысле что принтфы надо мерять хотя бы с тем же boost.format, а не с ними _голыми_.
Это сообщение отредактировал(а) mes - 2.6.2011, 12:34 |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
mes, мне нужно форматировать ввод-вывод. потому я выбрал два варианта: 1) sprintf/sscanf, 2) ostringstream/istringstream.
кандидатуру boost.format не рассматривал. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
надо отличать форматированный вывод, от форматированного по шаблону... у первого естесственно будет выйгрыш в скорости..
|
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Это релизная сборка или дебажная?
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
mes, значит мне нужен форматированный.
Alca, gcc -O2 main.cpp -omain |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
глянул результаты :
scanf действительно меденнее, чем должен был быть по идеи.. |
|||
|
||||
Alca |
|
||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
http://codepad.org/kvs8ZG4Q
маленький фикс: ![]()
Добавлено через 1 минуту и 49 секунд http://codepad.org/4lZe5qee
![]() Добавлено через 5 минут и 48 секунд
а если с -03? Это сообщение отредактировал(а) Alca - 2.6.2011, 13:09 |
||||||||
|
|||||||||
boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
вот и я о том же! это не существенно. с О2:
с О3:
т.е. разницы почти никакой. |
||||
|
|||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
http://gitorious.org/kirelagin_asm/sprintf...ter/sprintf.asm |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
хм..
![]() жаль на асме... |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Мне попадались как-то, но не помню по каким ключевым словам гуглил
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
похоже, придется stream`ы юзать.
всем спасибо. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |