1

私は現在、組み込みデバイスアプリケーション(C)に取り組んでいます。RAMが96MBしかないことを念頭に置いて、そのアプリケーションをコンパイルするためにどの最適化フラグを使用する必要がありますか。

また、このアプリケーションでは、基本的にJPEG画像を前処理していることに注意してください。では、どの最適化フラグを使用する必要がありますか?

また、このアプリを削除すると、効率と速度に影響がありますか?

このアプリを実行しているOSはLinux2.6.37です。

4

2 に答える 2

2

通常、最適化によりバイナリサイズが増加します。これが速度にどのような影響を与えるか以外に、使用しているデータセットによってはまったく予測できません。唯一の方法は、プログラムが何を実行し、どのように動作するかについての情報があると思うので、アプリケーションのパフォーマンスを向上させる可能性があると思わ-O2れるフラグだけでなく、-O3他の可能なフラグを使用してアプリケーションをベンチマークすることです。さまざまな入力に対して。

パフォーマンスはアプリケーションの性質に依存するため、どのフラグがより良いパフォーマンスを提供できるかについて、誰もあなたに説得力のある答えを与えることができるとは思いません。

GCC最適化フラグを確認し、アルゴリズムを分析して適切なフラグを見つけてから、使用するフラグを決定します。

于 2012-10-08T09:26:06.537 に答える
1

-Os望ましいです。RAMの制限があるだけでなく、CPUのキャッシュサイズも制限されているため、-Os最適化手法をあまり使用しなくても、コードをより高速に実行できます。

于 2012-10-08T09:15:48.097 に答える