MySQLデータベースに200kのリストが保存されています。リストAが与えられた場合、Aと200kリストの各リストXの間の類似度スコアを計算する必要があります。類似度メトリックは、AとXの設定された共通部分の長さなどの単純なものであると想定します。
ペアワイズ比較の性質を考えると、このためにO(N)を改善する方法を考えることができなかったので、ランタイムを改善することは、複数のCPUコアで作業することを意味します。現在、multithreading.Pool()を使用してこのタスクを4つのコアに分割していますが、完了するまでに10分近くかかります。さらに悪いことに、私のコンピュータは自分自身を保護するためにシャットダウンします。
これまでにこれを扱ったことがある人のために、あなたが共有できる別の方法がありますか?