IT Info
Fedora の FESCo は、デフォルトのコンパイラ フラグとして「-fno-omit-frame-pointer」のアイデアを拒否します
ここ数か月、Fedora Linux 用にビルドされているパッケージのデフォルトのコンパイル フラグに「-fno-omit-frame-pointer」を追加することに関して議論された変更提案がありました。このオプションを追加すると、パッケージのプロファイリング/デバッグ能力が向上しますが、パフォーマンスに影響を与える可能性があります。 Fedora Engineering and Steering Committee (FESCo) は現在、この論争の的となっている変更提案を却下しました。 Meta/Facebook 開発者によって最初に開始された変更提案として、彼らは-fno-omit-frame-pointer と-mno-omit-leaf-frame-pointer をデフォルトの C/C++ コンパイル フラグに追加することを望んでいました。これにより、プロファイリング ツールとデバッグ ツールの有効性が向上しますが、パフォーマンスのオーバーヘッドが生じる可能性があります。 コンパイラ オプションにより、フレーム ポインターが常に使用可能になりますが、現在それを省略している場合、関数ごとに 3 つの命令が節約され、RBP フレーム/ベース ポインター レジスターを他の目的の汎用レジスターとして使用できます。 メタ エンジニアは、パフォーマンス コストは小さく、価値があると考えていますが、SUSE エンジニアは以前、5 ~ 10% のリグレッションの可能性について言及していました。夏の間にいくつかの簡単なベンチマークを実行しましたが、-fno-omit-frame-pointer を使用してビルドすると、レジスターの損失などを回避できないため、実際にさまざまなパフォーマンスの低下が見られました。 過去数か月間、Fedora の利害関係者は「-fno-omit-frame-pointer”をデフォルトで使用することは、すべてのパッケージのデバッグ/プロファイリング特性を改善するのに理にかなっていますが、パフォーマンス コストについては議論があります。 Fedora エンジニアリングおよび運営委員会は、先週投票し、変更提案を拒否しました。 Red Hat Platform Tools チームが出てきて反対したことが指摘されました. FESCo は、+2、1、-4 に基づく投票で却下しました。 それ以来、一部の人々はすでに Read more…