C は末尾再帰最適化でカバーされていますか?
末尾再帰最適化、プログラムのパフォーマンスを向上させる手法再帰中に不要なスタック フレームを削除することにより、開発者にとって切望される機能です。しかし、C はこの分野で堂々としているでしょうか?
コンパイラー ガーディアンの紹介
心配する必要はありません。現在の主流の C コンパイラーはすべて末尾呼び出しの最適化を採用しています。これには、
コマンドの最適化
末尾再帰最適化の力を解き放つには、コンパイラ内で最適化の野獣を解き放つだけです:
最適化を目撃してください
否定できない証拠を求めていますか?次のいずれかの戦略を採用します。
注意: デストラクターの公開
デストラクターは、歓迎されないパーティーのゲストと同様、次のような可能性があります。尾部再帰の夢を打ち砕きます。デストラクターが近づきすぎて、末尾呼び出しが開始される前に実行を要求すると、最適化は放棄されます。
変数と一時変数のスコープを修正し、リターン ダンスが始まる前にそれらをパッキングして送信することを検討してください。このダンスは、あなたの末尾再帰への願望を再び呼び起こすかもしれません。
追加の豆知識
以上がC は末尾再帰最適化をサポートしていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。