生成されたオブジェクト ファイルのパフォーマンスやサイズを決定できる C 言語でプログラマーができることを探しています。
たとえば、
1. 単純な get/set 関数をインラインとして宣言すると、パフォーマンスが向上する場合があります (フットプリントが大きくなります)
2. ループ変数自体の値を使用しないループの場合、カウントアップではなくゼロまでカウントダウンします。特定の値など
コンパイラーは、(上記の 2 つのポイントのような) 「単純な」トリックがまったく必要ないレベルまで進歩したようです。コンパイル中の適切なオプションはとにかく仕事をします。また、コンパイラが再帰を処理する方法に関する投稿もここで見ました。これは非常に興味深いものでした。では、C レベルで何をする必要があるのでしょうか。:)
私の特定の環境は次のとおりです。ARMアーキテクチャ(v4)用に再ターゲットされたGCC 4.3.3。しかし、他のコンパイラ/プロセッサに関する回答も歓迎され、むしゃむしゃ食べられます。
PS: 私のこのアプローチは、通常の「最初にコードを作成し、次にベンチマークし、最後に最適化する」というアプローチに反します。
編集:たまたま、質問を投稿した後に同様の投稿を見つけました。