После выполнения следующего теста:
for( i = 0; i < 3000000; i++ ) {
printf( "Test string\n" );
}
for( i = 0; i < 3000000; i++ ) {
write( STDOUT_FILENO, "Test string\n", strlen( "Test string\n" ) );
}
получается, что вызовы printf занимают в общей сложности 3 секунды, а призывы к записи - колоссальные 46 секунд. Как, при всей фантазии магии форматирования, что printf
делает, и тот факт, что printf
сам называет write
, возможно ли это? Есть что-то, что мне не хватает?
Приветствуются любые мысли и ввод.