私は組み込みソフトウェアを (もちろん C を使用して) プログラミングしましたが、現在、システムの実行時間を改善する方法を検討しています。私のシステムで最も重要な単一モジュールは、ネストされた非常に大きな for ループ モジュールです。
そのモジュールは、最大 122500 回ループする 2 つのネストされた for ループで構成されています。まだそれほど多くはありませんが、問題は、ネストされた for ループ内に、別のソース ファイルにある関数への関数呼び出しがあることです。その特定の関数は、常に 22500 回ループするネストされた別の 2 つの for ループで主に構成されています。そのため、関数呼び出しを 122500 回行う必要があります。
私は、呼び出される関数をより軽量で短くしました (それでも、正常に機能します)。そして今、その関数呼び出しをはぎ取って、最初の 2 つの内部にそのプロセスを直接記述した方が速いのではないかと考え始めました。ループ?
そのシステムのプロセッサは ARM7TDMI で、その周波数は 55MHz です。システム自体はタイム クリティカルではないため、リアルタイム対応である必要はありません。しかし、その義務をより速く処理できるほど、より良いものになります。
また、fors の代わりに while ループを使用した方が高速でしょうか? また、実行時間を改善する方法についてアドバイスをいただければ幸いです。
-ザプレック