C 스트림(cout)과 C의 printf 기능을 혼합하면 특히 대규모 데이터 세트를 처리할 때 출력 속도를 실제로 향상시킬 수 있습니다. 일반적으로 이 접근 방식을 사용하는 것이 안전하며 메서드 간에 전환하기 전에 버퍼를 플러시하도록 주의해야 합니다.
제안된 코드 조각에 대한 자세한 분석은 다음과 같습니다.
cout << "Hello" << endl; cout.flush(); for (int i=0; i<1000000; ++i) { printf("World!\n"); } fflush(stdout); cout << "last line" << endl; cout << flush;
장점:
단점:
벤치마크 및 최적화:
더 포괄적인 보기를 제공하려면 다음 성능 벤치마크를 고려하세요.
// Various output techniques void use_printf() { ... } void use_puts() { ... } void use_cout() { ... } void use_cout_unsync() { ... } void use_stringstream() { ... } void use_endl() { ... } void use_fill_n() { ... } void use_write() { ... } int main() { show_time(use_printf, "Time using printf"); show_time(use_puts, "Time using puts"); show_time(use_cout, "Time using cout (synced)"); show_time(use_cout_unsync, "Time using cout (un-synced)"); show_time(use_stringstream, "Time using stringstream"); show_time(use_endl, "Time using endl"); show_time(use_fill_n, "Time using fill_n"); show_time(use_write, "Time using write"); return 0; }
결과:
결론:
위 내용은 C 스트림을 C의 printf와 혼합하면 출력 속도가 향상될 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!