1

私の Java コードでは、java.util.ArrayDeque のサイズがパフォーマンスに影響していると思われますが、その可能性があるかどうかをここで確認したかったのです。

while (!otherClass.getDeque().isEmpty()){
  Trajectory t1 = otherClass.getDeque.remove();
  Runnable tr1 = new TrajectoryThread();
  Thread thread1 = new Thread(tr1);
  thread1.start();

if (!otherClass.getDeque().isEmpty()){
  Trajectory t2 = otherClass.getDeque.remove();
  Runnable tr2 = new TrajectoryThread();
  Thread thread2 = new Thread(tr2);
  thread2.start();

私のコードでは、deque が空でない場合は軌跡オブジェクトを削除し、40 個のシミュレーションが同時に実行されるまで新しいスレッドでシミュレーションを開始します。各シミュレーションの最後に、さらに軌道をキューに追加する可能性があります。すべてのシミュレーションが終了した後もキューに軌道が残っている場合は、プロセスが繰り返されます。

私が使用する操作は、 remove() 、 add() 、 isEmpty() であり、別のクラスから Deque を取得することもできます。各反復のタイミングを計っているうちに、Deque サイズが 4421 オブジェクトの場合、7756 ミリ秒かかることがわかりました。一方、Deque サイズが 103 オブジェクトの場合、43 ミリ秒かかります。

4

1 に答える 1