私は、ファイルへの書き込みとコンソールへの印刷のスピードの違いと、SSDとHDDの違いがどのくらいあるかを確認するためにいくつかのテストを実行しました。私のプログラムは、ちょうど私も億まで、このテストを実行し、一貫回の同じ比率を見た数字0-10,000,000ループで計算を行うと、コンソールへの書き込みは遅くなりますが、ファイルへの書き込みは遅くなります。
Console: 6.089 file: 4.269
を印刷します。私もテストの順番を変えてみましたが、スピードの変化は見られませんでした。
ここで奇妙なところがあります。私は、コンソールの時間が大幅に増加したが、ファイルの時間がなかった
Console: 8.586
file: 4.475
を持ってこれをやった後.println(i*i+42/7*9-89*2%400/2);
に両方printlnsを変更しました。最後の奇妙なこととして、私はそれを.println((i*i+42/7*9-89*2) %400/2)
に変更しました。この場合、コンソール出力での速度が実際にになりました。
Console: 4.352
file: 4.66
誰でもこの奇妙なことを説明できますか?私は劇的なスピードの変化の理由を見つけることができないようです。私はおそらくそれは書かれなければならないビットの数の変化だと思っていますが、なぜそれがコンソールのスピードにしか影響しないのか説明できません。
どのようなヘルプや回答もありがとうございます。この問題はしばらく私を気にしていたので、私は専門家に尋ねると思った!
計算はIOに比べてほとんど何もありません。差異がある場合は、ウォームアップの問題または作成しているデータの可能性が高くなります。 –
私はそれを考えましたが、私が言ったように、私はより大きなテストを実行し、コンソールで同じような時間の増加を見ました。そして、2回のテストの順番を変えて同じ時間を得ました。 –