大規模な2D配列の値を小さな2D配列で移動し、小さい配列の対応する値より大きい値を大きな配列の値に設定する必要がありますより小さいアレイの画像の合成を考えてみましょう。しかし、浮動小数点の2つの2D配列を使用しています。私はできるだけ速くこれを行う必要があります。 NEONアセンブリを使用して最適化する方法があるかどうか疑問に思うだけですが、Accelerateフレームワークや他の方法については聞いたことがありません。値を比較したり置き換えたりするために、二重ネストされたforループよりもはるかに高速になるものはありますか?たとえば、2D配列の代わりに1D配列として値を格納するほうが速いでしょうか?または各列を下ろすのではなく、行間の値にアクセスする方が速いのですか?余分なスピードを搾取しようとしていますが、どうしたらいいか分かりません。iOSの配列の高速比較
答えて
私は、Accelerateフレームワークの中で、あなたが望むことをする機能について知りません。一度に2つの浮動小数点数を処理するのにvmin_f32
組み込み関数を使用するか、を使用して一度に4つの対を処理することによって、アセンブリ言語に直接進むことなくNEONを使用して高速化できます。
これらのリンクを使用して、組み込み関数を使用して開始し得るのを助けるかもしれないが、私は本当にあなたのために任意のより良いアドバイスを持っていない: ARM NEON Optimization. An Example
ARM Information Center - NEON Intrinsics
How to use the multiply and accumulate intrinsics in ARM Cortex-a8?私はneon intrinsics tutorial
をグーグルでそれらを発見しました。 Xcodeの4.3 /Developer/Library/PrivateFrameworks/DTISAReferenceGuide.framework/Versions/A/Resources/ARMISA.pdf
:
のXcode 4.2:
また、開発者向けツールのパッケージには、いくつかのARMアーキテクチャのドキュメントが含まれて/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/Frameworks/DTISAReferenceGuide.framework/Versions/A/Resources/ARMISA.pdf
あなたがstructs
の1次元のC配列を比較する必要がある場合は、あなたが試すことができますループがfor
ループよりも効率的かどうかを調べるにはmemcmp()
を使用してください。何らかの配列ハッシュを用意できれば、配列が異なる場合のパフォーマンスが大幅に向上します。たとえば、浮動小数点数の配列がある場合、その合計をハッシュとして使用できます。配列のハッシュが異なる場合は、配列をまったく比較する必要はありません。一方、配列が実際にはほとんど同じであると予想した場合、ハッシュの計算では処理が遅くなります。
ハッシュ計算で創造的に役立つかもしれません。 2D配列の場合、ハッシュは、1D配列ハッシュの多項式、または配列サイズ、1D配列ハッシュのハッシュなどのメタデータを含むstruct
でさえあります。は、1D配列ハッシュのハッシュよりも約2倍高速です。ワーストケースの大規模な配列(配列が等しい場合)を比較すると、ループが単純な単一スレッドのループになります。
- 1. C#での文字列比較の高速化
- 2. 数字比較は文字列比較よりも高速ですか?
- 3. が異なるデータフレームの高速化列を比較
- 4. 高速軽量画像比較メトリックアルゴリズム
- 5. VBA:バリアント配列と型付き配列の比較速度とキー以外のコレクションの比較
- 6. 比較配列
- 7. 比較配列
- 8. iOSでの文字列と配列の比較
- 9. Cocoa NSArray/NSSet:-makeObjectsPerformSelector:高速列挙型と比較して
- 10. mysql文字列比較 - md5高速ですか?
- 11. JavaScriptの配列の比較
- 12. 配列比較は
- 13. Pythonの配列エレメント比較
- 14. AngularJS配列の比較
- 15. VBA配列の比較
- 16. Javaの比較配列
- 17. Painlessと配列の比較
- 18. SQLとの配列比較
- 19. 比較配列 - Javaの
- 20. インデックスルビと配列の比較
- 21. PHP - 配列の比較==と===
- 22. TCL ns2の配列比較
- 23. 配列要素の比較
- 24. Java配列の比較
- 25. バイト配列の比較
- 26. 配列の比較とソート
- 27. 比較3つの配列
- 28. iOS - 配列内の2つの配列とオブジェクトの比較 - ロジック問題
- 29. C#での文字列比較のためのより高速なアルゴリズム#
- 30. リストの大量のリストの高速比較