mymuss
Да уж, ребята....
Тесты показывают, что реализация функции fprintf на данной платформе с данным компилятором для данной версии библиотеки быстрее, чем с iostreams - т.е. они не показывают ничего.
В чем, скажите мне, iostreams ПРИНЦИПИАЛЬНО медленнее, чем stdio? А то когда Ryback сказал про 5 вызовов cout и один вызов fprintf, извините...
Ryback, не надо человеку учить GLIBC, если он не будет работать в юниксах. Так же, как не надо ему учить системные вызовы CreateThread или WaitForSingleObject, если он не собирается программировать под винду. Как вы все этого не можете понять? Ему нужно изучение языка C++, а не подробности работы функции pthread_create или миллисекунды, выигранные при использовании fprintf.
Кстати, насчет POSIX - ты бы уже приводил весь отрывок, что-ли. А то так нечестно
Цитата:
О чем я и говорил в самом начале - хочешь жить спокойно с потоками, используй синхронизацию, а не полагайся на стандартную библиотеку.
POSIX кстати, если что-то requires, то это не значит, что оно implemented everywhere. К тому же это юниксовый стандарт. Кроме юникса есть еще много платформ. И есть еще такой стандарт - ANSI.
Посмотрел я в своем линухе и в винде. В линухе есть (по крайней мере в последней версии glibc), в винде нифига нету.
Да уж, ребята....
Тесты показывают, что реализация функции fprintf на данной платформе с данным компилятором для данной версии библиотеки быстрее, чем с iostreams - т.е. они не показывают ничего.
В чем, скажите мне, iostreams ПРИНЦИПИАЛЬНО медленнее, чем stdio? А то когда Ryback сказал про 5 вызовов cout и один вызов fprintf, извините...
Ryback, не надо человеку учить GLIBC, если он не будет работать в юниксах. Так же, как не надо ему учить системные вызовы CreateThread или WaitForSingleObject, если он не собирается программировать под винду. Как вы все этого не можете понять? Ему нужно изучение языка C++, а не подробности работы функции pthread_create или миллисекунды, выигранные при использовании fprintf.
Кстати, насчет POSIX - ты бы уже приводил весь отрывок, что-ли. А то так нечестно
Цитата:
The functions by themselves would ensure only atomicity of their own operation, but not atomicity over all the function calls. For this it is necessary to perform the stream locking in the application code.
О чем я и говорил в самом начале - хочешь жить спокойно с потоками, используй синхронизацию, а не полагайся на стандартную библиотеку.
POSIX кстати, если что-то requires, то это не значит, что оно implemented everywhere. К тому же это юниксовый стандарт. Кроме юникса есть еще много платформ. И есть еще такой стандарт - ANSI.
Посмотрел я в своем линухе и в винде. В линухе есть (по крайней мере в последней версии glibc), в винде нифига нету.