出力パフォーマンスを向上させるための C ストリームと C Printf の混合
C 関数 printf が C ストリーム関数 cout を超えることがよく確認されています。出力速度の点で。この違いは実装によって異なる場合がありますが、特定のシナリオでは printf の方が大幅に高速になる可能性があることがわかっています。この利点を活用するには、これらの印刷方法を組み合わせて使用できます。単純な印刷には cout が使用され、大規模な出力には printf が使用されます。
2 つの方法間の移行をスムーズに行うには、フラッシュすることが重要です。印刷手法を切り替える前のストリーム バッファー。これを以下に示します。
cout << "Hello" << endl; cout.flush(); for (int i = 0; i < 1000000; ++i) { printf("World!\n"); } fflush(stdout); cout << "last line" << endl; cout << flush;
パフォーマンス評価
上記のアプローチは機能的には有効ですが、その効率性については議論の余地があります。さまざまな最適化手法の有効性を評価するために、一連のパフォーマンス テストが実施されました。その結果、次のことが明らかになりました。
これらの観察に基づいて、大きなサイズのファイルには printf を賢明に使用することが明らかです。出力を endl の回避と組み合わせると、出力パフォーマンスを大幅に向上させることができます。最適化手法の有効性はさまざまですが、これらのヒントを注意深く考慮することで、コード効率が大幅に向上する可能性があります。
以上が出力を高速化するには、C Streams と C Printf を混合する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。