Android でいくつかのテストを実行して、並列化した場合にアルゴリズム (FFT など) のパフォーマンスがどの程度向上するかを検証しました。pthread と JNI (FFTW) および Java スレッド (JTransforms から) を使用してアルゴリズムを実装しました。期待どおりにスレッドを使用してパフォーマンスを向上させる代わりに、シリアル アルゴリズムを使用してより良い結果を得ました。マルチコアデバイスでこれらのテストを実行したため、なぜこれらの結果が得られたのかは不明です。Android システムで使用されるスケジューリング アルゴリズムは、Linux で使用されるものとは少し異なるようで、複数の CPU を使用して Android でマルチプロセッシングを実行したい場合は、うまくいきません。
FFTW の例: JNI コードはhttps://github.com/maxrosan/DspBenchmarking/blob/master/jni/fftw_jni.cにあり、そのインターフェースはhttps://github.com/maxrosan/DspBenchmarking/blob/master/です。 src/br/usp/ime/dspbenchmarking/algorithms/fftw/FFTW.java .
テストで呼び出されるメソッドは「execute」です。
ここで呼び出されるメソッドは「実行」です。
「実行」と「実行」は別のスレッド内で呼び出されます。