Я пытался напечатать "Hello World" 200 000 раз, и он взял меня навсегда, поэтому я должен остановиться. Но сразу после добавления массива char для работы в качестве буфера понадобилось менее 10 секунд. Почему?
Перед добавлением буфера:
#include <iostream>
using namespace std;
int main() {
int count = 0;
std::ios_base::sync_with_stdio(false);
for(int i = 1; i < 200000; i++)
{
cout << "Hello world!\n";
count++;
}
cout<<"Count:%d\n"<<count;
return 0;
}
И это после добавления буфера:
#include <iostream>
using namespace std;
int main() {
int count = 0;
std::ios_base::sync_with_stdio(false);
char buffer[1024];
cout.rdbuf()->pubsetbuf(buffer, 1024);
for(int i = 1; i < 200000; i++)
{
cout << "Hello world!\n";
count++;
}
cout<<"Count:%d\n"<<count;
return 0;
}
Это заставляет меня думать о Java. Какие преимущества использования BufferReader для чтения в файле?