![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Скорее, недоразумение авторов конкретной реализации STL P.S. Пока писал тестик на 20 строк, успел один раз получить AV из-за buffer overrun в sprintf. Нафиг ее, такую "скорость". -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| szz |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: нет Всего: 33 |
Мусьё, вот вы и попались! Постеснялись бы стеснять Спросите разработчиков того же самого PHP - что, они ради своего удовольствия колупают на Сях? Ах как было бы удобно построить огроменную иерархию классов для парсера PHP! А вот низя ))) Число 8 не с потолка взято, позвольте заметить.
С++ные потоки - вообще уже притчей во язытцах давным-давно стали Ну все ладно, хватит пустословить. Человек получил ответ на свой вопрос,
Это ручки ))) нечего sprintf ругать Забавные результаты. Одно включение iostream (супротив stdio.h) должно все на уши поставить. Как, кстати, тестируем? Чем считаем-с? --------------------
|
||||||||
|
|||||||||
| Void |
|
||||||||||||||||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
А парни из Remedy не знали, и облажалась, выпустив Max Payne 2, написанный на C++... и движок почему-то летает. Или gamedev == Кармак?
Да кто их знает
Ну, выкладывайте свой секрет бенчмаркинга
Ну не смог я с первого раза правильно посчитать в уме необходимый размер буфера. Позор мне за это.
Как?!
clock'ом, однако
vs аналоги. P. S. Тема отчетливо запахла Религиозными войнами... -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||||||||||||||
|
|||||||||||||||||
| S.A.P. |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
а какие еще аналоги?
дык STL проиграет заведомо |
||||
|
|||||
| Void |
|
||||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
std::ostringstream и boost::format
Проиграла. В 3 раза. А не в 8-19, как утверждают -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||
|
|||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
Void а как тестировал? В случае со sprintf всё в С строку загонял или в string ?
|
|||
|
||||
| Void |
|
||||||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
А второй вариант... это как вообще?
Это сообщение отредактировал(а) Void - 21.10.2005, 22:21 -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||||
|
|||||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
Void дык понятное дело, ostringstream string использует, ему расширяться надо каждый раз, а под C строки тут сразу память выделяется .
Добавлено @ 22:38 А у меня вобще интересные тесты:
|
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Perchilla
Переделал, посмотрел. Прирост на пару процентов. Реаллокация - не самое узкое место. Потоки действительно медленнее, но, повторюсь, эта медленность в большинстве случаев оправдывается (типо)безопасностью. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| S.A.P. |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
это я на VC 71 компилил а mingw вобще ужас на крыльях ночи выдает
|
||||
|
|||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
STLPort, небось?
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
нет, все по старинке |
|||
|
||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
[quote=szz, 21.10.2005, 21:25]Цитата (DeadSoul @ 21.10.2005, 20:11)
В некоторых местах в 19 раз(stringstream vs printf) Обшибся... В 9 раз для MS VC 7. В 19.2 - это boost::lexical_cast Источник: Саттер,Новые сложные задачи на С++ [quote=szz, 21.10.2005, 21:25]Цитата (Void @ 21.10.2005, 20:43) Пока писал тестик на 20 строк, успел один раз получить AV из-за buffer overrun в sprintf. Нафиг ее, такую "скорость". Это ручки ))) нечего sprintf ругать[/quote] Это означаят, что я как параноик должен проверять каждый символ. -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
А boost::format в mingw 20625 ms работал Это сообщение отредактировал(а) Perchilla - 21.10.2005, 23:33 |
|||
|
||||
| DeadSoul |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
Perchilla, самому прогонять тескты слишком сложно. Современные компиляторы слишком хорошо оптимизируют. И у тебя стоит двойная цель: - оставить компилятору возможность для оптимизациии - убить ненужную оптитмизацию. ПРимер:
компилер может выкинуть -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |