Tôi đã cố gắng in Hello World
200.000 lần và mất mãi mãi, vì vậy tôi phải dừng lại. Nhưng ngay sau khi tôi thêm một char
mảng để hoạt động như một bộ đệm, chỉ mất chưa đầy 10 giây. Tại sao?
Trước khi thêm bộ đệm:
#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;
}
Và đây là sau khi thêm bộ đệm:
#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;
}
Điều này khiến tôi nghĩ về Java. Ưu điểm của việc sử dụng BufferReader để đọc trong tệp là gì?