• 締切済み

スピードの差

次のプログラムは userData[0] → userData[1] userData[1] → userData[2] ・・・ ・・・ userData[num-2] → userData[num-1] のように、データを移動するプログラムである。 //■開始時間取得 start = System.currentTimeMillis(); //■移動 for(int i=num-2; i>=0; i--) { userData[i+1] = new UserData(userData[i].name,userData[i].dataPointer); } //■終了時間取得 end = System.currentTimeMillis(); System.out.println("時間:"+(end-start)+"ミリ秒"); numと実行時間はつぎのようになった。 (NetBeans6.0で実行) num 1回目 2回目 3回目 8196 0ms 0ms 0ms 16384 7ms 7ms 7ms 32768 9ms 9ms 8ms 65536 7ms 8ms 14ms 131072 21ms 21ms 24ms 262144 198ms 353ms 212ms 524288 90ms 92ms 91ms このときnum=524288よりnum=262144としたときの方が遅い原因と して何が考えられますか? また、num=1048576としたところ Java Result: 1 となった。実行するにはNetBeansの設定をどのように変えたらよいか?

みんなの回答

  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.1

この質問は(前回と同じく)、プログラムの全体構造、使用しているオブジェクト、実行環境、などに関する情報が不足しすぎています。だから、誰も答えようがない。

すると、全ての回答が全文表示されます。

関連するQ&A