ハードドライブから多くの画像をロードして計算を行うコードを最適化しようとしています。処理を高速化するための最初の試みは、イメージごとNSOperationQueue
に個別にロードして計算を行うを作成することでした。NSOperations
残念ながら、実際にかかる時間は短縮されませんでした。
理由の 1 つは、 を作成してNSOperations
に追加することによって発生するオーバーヘッドである可能性がありますqueue
。別の考えられる理由は、ハード ドライブがマルチスレッドで動作するように設計されていないため、ファイルを 1 つずつ読み取る代わりに、ディスクのヘッダーがセクター間を行き来する必要があることです。
したがって、私の質問は、obj-CまたはCコードをアトミックに実行する方法があるかどうかです。そのためNSOperation
、ファイルを読み取っている間、別のファイルを読み取ろうとする何らかの操作によって妨げられることはありませんが、それでもすべてのNSOperations
ユーザーがイメージに対して計算を実行できます。 ?