大きな文字配列(614400)と高性能ビデオストリーミングアプリケーション(1フレームで100fps、10ms)があります。 1つのフレームで、私のフレームを修正し、この8つのスレッドに使用する必要があります。大容量アレイでのC++パフォーマンス
より速いもの: 1.スレッド1のすべての要素に1、アクセスします。 e。 g。スレッド1(1,2,3、... n) スレッド2(n + 1、n + 2、... n * 2) ... 2次アクセス順要素: スレッド1 、17 ...) スレッド2(2、10、18) ... どのように高速化できますか?今私は第二の方法を持っています:
workers = new std::thread*[workersCount];
for (int j = 0; j < workersCount; j++){
workers[j] = new std::thread(¶meterController::extractPart, this, j*2, workersCount*2);
}
for (int j = 0; j < workersCount; j++){
workers[j]->join();
delete workers[j];
}
delete workers;
私は疑問に思っています*測定*あなたの質問には、もし何かが速ければ、答えます。 – WhozCraig
各フレームのスレッドを作成して破棄しますか? o.O – nakiya
私はこれが間違った方法だと知っていますが、今はこれをどのように実装するのか分かりません。今度は、コンストラクタ内のinit 8無限大スレッドを探します。新しいスレッドを待っています。任意のアイデア、どのようにキャッチする、そのスレッドは、新しいフレームを待っている?この後、私はこのデータでもっとやる必要があります。 – Nick