4 つのフレーム (ビデオから取得した画像) を並行して処理するために、joblib を使用しています。これには、各ループが異なるフレームに対して同じ関数を呼び出す並列 for ループを使用しました。フレームのキャプチャにかかる時間は合計処理時間の 1% にすぎないため (ライン プロファイラーを使用した Python スクリプトのプロファイリングで確認)、最初に 4 つのフレームをキャプチャし、マルチプロセッシングのために joblib に渡します。
ラップトップを使用すると、プロセスが約 5 倍高速化されることがわかりました。Rapberry pi-2 (クアッドコア) では、ほぼ 8 倍のスピードアップが観察され、Beaglebone Black (マルチコアではない) でも、ほぼ 7 倍のスピードアップが観察されました。では、joblib はどのように正確にタスクを分散するのでしょうか?