1

私はARMアセンブリ言語を試しています。この間Objective-C、最初の iOS 6 小さなペット プロジェクトのコードでインライン アセンブリ ブロックをよく使用します。この間、私は疑問に思いました:

  1. 大規模な商用 iOS プロジェクトで ARM アセンブリを使用することはまったく合理的ですか?
  2. それを使用していくつかのボトルネックを最適化し、これでコンパイラを超えることはできますか?
  3. ベクター化、 NEONSIMDメディアの最適化 (画像の縮小など) など、iOS でアセンブリ言語を使用する際の一般的なガイドラインまたはベスト プラクティスは何ですか?
4

1 に答える 1

2

iPhoneは単なる小さなコンピュータであるため、アセンブラを使用することのトレードオフは、他のマシンとまったく同じです。

一般的な答えはノーでなければなりません、あなたはアセンブラを使いたくないのです。

そうは言っても、手作業で調整された非常に低レベルのコードの方が高速である場合は常に例外があります。開始する前に、Instrumentsを使用してボトルネックを正しく特定し、より高いレベルの手法を使用してコードを調整したことを確認してください。

意味のある特別なハードウェア機能を使用しますが、それらのほとんどの利点を得るためにアセンブラーを使用する必要はないことに注意してください。

于 2012-10-30T12:55:00.700 に答える