i/o 시간단축

EmperorChan·2022년 10월 17일
0

cin과 cout이 기존 stdio헤더파일에서 이용하던 것에 비해 시간이 2배이상 걸린다는 것을 알게 되었다.
이는 다음과 같은 코드를 이용하면 stdio와 비슷한속도로 해결이 가능하다

using namespace std;

ios::sync_with_studio(false);
cin.tie(NULL);
cout.tie(NULL);

위 코드를 사용하면 왜 시간이 단축가능한 것일까
이 코드는 c와 cpp의 표준 stream의 동기화를 끊는 역할을 한다.
동기화를 끊음으로서 cpp stream들은 독립적인 buffer를 갖게되고 buffer의 수가 줄어들며 속도가 빨라지게 된다. 하지만 이 코드를 사용하게 되면 c의 표준 입출력을 사용할 수 없게 된다. 예를들어 scanf나 printf를 위 코드를 입력하고 사용할 수 없다는 의미이다.
위 코드를 사용할 시에는 c의 입출력을 사용하지 않도록 유의하자.

profile
coding chobo

0개의 댓글