C++

[C++] 알고리즘 입출력 성능 향상

PONI 2023. 6. 27. 10:14
반응형

ios_base::sync_with_stdio(False);
cin.tie(NULL); 
cout.tie(NULL);

 

📋ios_base::sync_with_stdio(False);

C 표준 입출력(stream)과 C++ 표준 입출력(stream)의 동기화를 끊습니다.

 

📌 cin.tie(NULL); cout.tie(NULL);

cin을 cout으로부터 untie 합니다. stream을 tie하면 다른 stream에서 입출력요청이 오기전에 stream을 flush 시킵니다.

 

📌 사용이유

cin, cout이 scanf, printf에 비해서 속도가 많이 느립니다.
때문에, 기존 동기화 과정에서 필요하던 시간이 절약되어 입출력 속도가 빨라지는 효과가 있습니다.

 

📖 권장 사용 방법

해당 방법을 사용하여 C++ 입출력 객채의 성능을 향상시켜 사용할 목적이라면 다음의 방법을 권장합니다.
1. scanf와 printf와 섞어서 사용하지 않기
2. 싱글 쓰레드 환경에서만 사용하기
3. C++의 함수만 사용하도록 주의

반응형