ThreadPoolExecutorでmax.workersを何に設定するかを決定するときに、concurrent.futuresから考慮すべき要素は何ですか?
Python 3.5+が利用可能であると期待できる限り、max_workersをNoneに設定しない理由があります。これにより、「デフォルトでマシンのプロセッサ数に5を掛けた値」になります。ここのドキュメントで説明されていますか? https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ThreadPoolExecutor
この質問はそれほど一般的に解決できるとは思いません。それはそれぞれのケースに依存します。
から この答え :
使用するスレッドが多ければ多いほど、同時実行性は高くなりますが(ある程度まで)、得られるCPUサイクルは少なくなります(コンテキストスイッチがあるため)。何が最適かを確認するには、典型的なワークロードでアプリケーションを計測する必要があります。これに対する普遍的に最適なソリューションはありません。