loop
体内に設定されている初期化されていない値の理由を除いて、loop
が存在する他の魅力的な理由はありますか?Rustコンパイラは `loop`と` while true`でどのような最適化を行いますか?
答えて
あなたが意図したこと以外は、違いはありません。コンパイラで正規化が行われると、すべてのループは同じになります。
example of a loop
in the Rust playgroundおよびthe same example with a while true
を参照してください。生成されたアセンブリはまったく同じです。コンパイラはwhile true
の例に対して、代わりにloop
を使用するよう警告します。
これは何らかの方法で証明できますか? – Shepmaster
@Shepmaster証明が必要な場合はMIRまたはASMの出力を比較できます – the8472
@ the8472アセンブリ(およびおそらく関連する最適化)が単一のケース*(これはかなり低いバーです)で同じであることを証明するだけです。私は、たとえそこに到達するためのパスが完全に異なっていても(つまり利用可能な最適化が異なる場合でも)同じアセンブリにコンパイルされた激しく異なるコードサンプルを想像することができます。 – Shepmaster
- 1. while(true)loop中のsystem.formatexception
- 2. FPGA言語のコンパイラは最適化を実行しますか?
- 3. 空の関数はRustで最適化されますか?
- 4. コンパイラに「ページ最適化」などのことはありますか?
- 5. ネイティブVBAコンパイラは最適化していますか?次のように
- 6. while(true)の代わりにloopを使ってスカラーアクターを使うとどうなりますか?
- 7. コンパイラの動的最適化とは
- 8. デバッグビルドでコンパイラの最適化が有効になっているとどうなりますか?
- 9. コンパイラはいつマイコードを最適化するのですか?
- 10. コンパイラの最適化の限界は何ですか?どのように賢いですか?
- 11. C#コンパイラまたはJITのどのレベルでアプリケーションコードを最適化しますか?
- 12. サブレンジタイプによるコンパイラの最適化
- 13. CSSのコンパイラの最適化
- 14. コンストラクタのコンパイラの最適化
- 15. コンパイラが行った最適化を見るにはどうすればいいですか?
- 16. GNUコンパイラの最適化
- 17. コンパイラ述語の最適化
- 18. Erlangコンパイラの最適化
- 19. C++コンパイラの最適化
- 20. Javaコンパイラの最適化
- 21. Visual C++コンパイラの最適化
- 22. グラム++コンパイラの最適化
- 23. NSLogは最適化のバグをどのように解決しますか?
- 24. LLVMはどの最適化を実行しますか?
- 25. Kotlinコンパイラはラッパー関数を最適化できますか?
- 26. コンパイラはメソッド呼び出しを最適化できますか?
- 27. Cコンパイラはオブジェクトファイル全体を最適化できますか?
- 28. iPhoneのコンパイラの最適化とUIViewフレーム
- 29. GNU GCCコンパイラの最適化とデバッグ
- 30. Cでテストパフォーマンスの最適化をどのようにユニット化できますか?
関連性の高い質問:https://stackoverflow.com/q/28892351/1233251 –
ありがとう。しかし、私は私の声明で「ループ本体内に設定されている初期化されていない値については理由があるという事実は、他のどの方法でコンパイラの最適化のための手段が得られるかを知ることに興味があった。 –
確かに、私はそれを複製と呼んでいません。しかし、それは外部リソースを含む重要な情報を含んでいます。 –