std::endl과 '\n' 개행문자 수행속도 비교
endl은 개행에 추가로 flush를 수행하기 때문에 속도를 더 먹는다고 하는데, 과연 얼마나 차이가 날지 확인해보도록 하겠다
아래는 코드
| 12345678910111213141516171819202122232425262728293031323334 | #include "stdafx.h" // iostream, cstdio, chrono, Windows.h int main(){ using std::cout; using std::endl; using std::ios_base; using std::chrono::system_clock; using std::chrono::duration_cast; using std::chrono::nanoseconds; system_clock::time_point start; system_clock::time_point end; start = system_clock::now(); for (int n = 0; n < 5000; n++) std::cout << endl; end = system_clock::now(); auto endl_time = duration_cast
endl은 125억 나노초.
개행문자는 87억 나노초.
생각보다 차이가 그리 격심하진 않다.