Во первых на таких временах ничего не понятно, нужно запускать серию и выбирать лучший результат, во вторых -O3, в третьих да, медленней (там еще своя буферизация наск мне помнится + накл расходы на вызво вирт ф-й).
В четвертых и главных - ЭТО НЕ ВАЖНО, потому что при маленьких объемах вывода вывод малая часть от общего времени выполнения, а при больших объемах вывода упираешься в пропускную способность диска (аппаратную).
Щито? Это самый что ни на есть «тру сипэпэп вэй». Не надо слушать идиотов, которые пытаются программировать на плюсах как на .. на ... Короче, как-то через жопу.
видимо endl очистка буфера это весьма медленно.
Естественно. «Очистка буфера» - это принудительное переключение в контекст ядра и запись уже в ядреный буфер.
В сишном случае у тебя таких операций ≈ strlen(«Hello number»)*100000 / (PAGE_SIZE*2), а во втором = 100000
> Щито? Это самый что ни на есть «тру сипэпэп вэй». Не надо слушать идиотов, которые пытаются программировать на плюсах как на ..
сколько не приходилось общаться - iostream мало кому нравиться, STL, strings, locale и т.п. сделаны нормально, а вот насчет iostream - многие считают, что он «пятое колесо», т.к. и не удобен, и не быстр, я считаю также
Удобство - понятие субъективное. Как все мы знаем, кому и кобыла - невеста.
и не быстр
А вот это уже 4.2
Плюсовые потоки принцпиально ничем не отличаются от функций работы с файлами стандартной сишной библиотеке и в гнусной реализации работают на одних и тех же буферах.
> форматирование в iostream может быть удобно только кобылам
Не знаком, так что доверюсь твоему слову.
тут уже приводили бенчмарки на boost.org, хотите их оспорить?
Чё там «оспаривать» ? Там точно так же замерили вызов одной функции против вызова десяти и (ВНЕЗАПНО!!11) обнаружили, что второе - медленней. Там такой же капитанский «бенчмарк» как в стартовом сообщении.
Ждём бенчмарков, которые покажут, что под вендой операции в двоичном режиме быстрее, чем в текстовом.
в принципе да, сравнение не честное, т.к. в Си сброс буфера не происходит, а есть ли в Си аналог flush из С++, чтобы в каждой итерации за него подёргать?
да вообще бессмыслица потому что машинный код генируется одинаковый
что для си что для сипипи совершенно одинаковый что сравниваете ?
если их и сравнивать то по другим критериям нежели по скорости
ну или напишите вручную вызовы виртуальный функций на чистом си
потом пусть компилятор сгенерит для спипи и сравнивайте наверняка
вы проиграете если не спец по ассемблеру
> Во первых на таких временах ничего не понятно, нужно запускать серию и выбирать лучший результат, во вторых -O3, в третьих да, медленней (там еще своя буферизация наск мне помнится + накл расходы на вызво вирт ф-й).
> Но до ЛОРовских анонимусов нам ах как далекоооо...
Нет, что-ты! Говорить, что не нужно и скорость не главное - ты уже научился.
Ещё подтянуть знания по статистике чтоб не «не выбирать лучший результать» - нужно ведь получить реальную достижимую скорость, а не мифическую пиковую возможную при хитрых стечениях обстоятельств, вроде шедулинга и тд
А так - ты всё ещё С++ фанбой и у тебя С++ головного мозга.
Ты дислектик? Ели нет - потрудись перечитать еще раз то что я в этой ветке писал (в частности про скорость). Если смог прочитать - попытайся ПОНЯТЬ. Хотя я не уверен, что человек не асиливший регистрацию на ЛОРе и делающий далеко идущие выводы о головном мозге незнакомого человека умеет думать...
Ещё подтянуть знания по статистике чтоб не «не выбирать лучший результать» - нужно ведь получить реальную достижимую скорость, а не мифическую пиковую возможную при хитрых стечениях обстоятельств, вроде шедулинга и тд
Ты хочешь поучить меня статистике? Забавное такое существо... На будущее - если хочешь сравнить производительность на рафинированных тестах типа теста ТС бери именно ЛУЧШИЙ результат. Если хочешь оценить РЕАЛЬНУЮ производительность - бери СВОЕ РЕАЛЬНОЕ приложение и оценивай.