コードの実行時間を大まかに見積もろうとしたときに、この観察に遭遇しました。コードの最初の部分で、CPU 使用率は約 10% にとどまりました。これには、2 つの文字列のトラバースとハッシュセットへの投入が含まれていました。コードが 2 番目の部分 (ネストされた 2 つの for ループと巨大な配列割り当て) に達すると、CPU 使用率は 50% に急上昇しました。
マルチスレッドに関連することは何もしていないと思います。また、最初の部分 (別の for ループを追加するような非常に単純なもの) を少し変更すると、CPU 使用率も大幅に変化します。なぜこうなった?誰が CPU を消費しているのか気になります。