Witam. Z ciekawości napisałem prosty program sprawdzający szybkość wypisywania dla cout, oraz printf i ku mojemu zdziwieniu printf wcale nie jest szybsze. Chyba że ja nie rozumiem na czym ta szybkość polega.
W obydwu przypadkach czas wypisania ciągu 1000 liczb od 1 wynosi około 3,9 sekundy z małym marginesem błędu bo wszyscy wiemy jak działa funkcja Sleep();
#include <iostream>
#include <cstdio>
#include <time.h>
#include <windows.h>
using namespace std;
int main()
{
clock_t start, stop;
double czas_printf, czas_cout;
//printf
start=clock();
for(int i=0; i<=1000; i++)
{
i++;
Sleep(1);
printf("%i",i);
system("cls");
}
stop=clock();
czas_printf = (double)(stop-start) / CLOCKS_PER_SEC;
//cout
start=clock();
for(int i=0; i<=1000; i++)
{
i++;
Sleep(1);
cout<<i;
system("cls");
}
stop=clock();
czas_cout = (double)(stop-start) / CLOCKS_PER_SEC;
cout<<"Czas dla printf: "<<czas_printf<<endl;
cout<<"Czas dla cout: "<<czas_cout<<endl;
return 0;
}