問題タブ [likely-unlikely]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Likely() / Likely() プリプロセッサ マクロを if-else if チェーンで使用する
私が持っている場合:
else if (likely(Z))
コンパイラが前のチェックの分岐予測に影響を与えることなく、最後のステートメント (else) が非常にありそうにないことを示すために、最後の条件チェックの周りに like() を配置できますか?
基本的に、GCC は、分岐予測ヒントを含む単一の条件ステートメントがある場合、if-else if ブロック全体を最適化しようとしますか?
c++ - c++20 の可能性と可能性が低いパフォーマンスの最適化
likely
属性とc++20について読みましたunlikely
が、この新しい属性が実行に与えるパフォーマンスの利点に関する合理的で公式なデータがあるかどうかを尋ねたいと思います。
コードが実行されたときに、この機能がパフォーマンスにどの程度影響を与えるかを測定する実行テストの例があるということですか?
この属性は、Linux カーネル開発 (C コード) でよく使用されることに気付きました。だから私の質問は:
コンパイラはすでにコードを十分に最適化していませんか? 効果的に改善されたパフォーマンスの例または証明はありますか?
これはすべての種類のマシンに当てはまりますか、または一部のアーキテクチャでは、適切な改善のために可能性が高い/可能性が低い必要がありますか?
編集 :
この種の提案のコンパイラへの有効性を実証するグラフまたはデータを探しています。(オンラインで検索しましたが、良いものは見つかりませんでした) 誰かがこの質問に答えることができる論文などを知っていれば?