C 標準には低い Iostream パフォーマンスが必要ですか?
C 標準ライブラリの iostream 実装には本質的な非効率性があると言われていますが、実際は
標準要件
C パフォーマンスに関する 2006 年技術レポートでは、特定の iostream の側面で追加の実装オーバーヘッドが必要であることが認められています。ただし、このオーバーヘッドはコンパイラの最適化とリンカーの機能強化によって大幅に削減できることも強調しています。
コンパイラの実装
さまざまなコンパイラ ベンダーが、iostream ライブラリを異なる方法で実装しています。一部のコンパイラは高度に最適化されたバージョンを提供しますが、他のコンパイラはより大きなオーバーヘッドを示す場合があります。
ベンチマーク
内部バッファリングの iostream とカスタム実装を比較したベンチマークでは、パフォーマンスのギャップが明らかになります。 Iostream では、次のような理由で追加費用が発生します。
軽減中オーバーヘッド
最適化を適用して、iostream のオーバーヘッドを削減できます:
結論
C 標準では、iostream のパフォーマンスが低いことは厳密には要求されていませんが、その設計により非効率が生じる可能性があります。ただし、コンパイラの最適化と適切な実装により、このオーバーヘッドを最小限に抑えることができ、現実的なシナリオでは iostream をカスタム バッファ管理に匹敵させることができます。
以上がC 標準では非効率的な Iostream パフォーマンスが義務付けられていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。