Japanese subtitles

← 18-08 Predicting Run Time Solution

18-08 Predicting Run Time Solution

Get Embed Code
2 Languages

Showing Revision 1 created 07/21/2014 by osawakjvta.

  1. 実行している間に何が取得できるか考えてみましょう
  2. これまで行った例を見て予測してみましょう
  3. 10の5乗を値として渡した時
  4. 実行にかかる時間は0.005でした
  5. 10の6乗つまり100万を渡した時は
  6. 実行にかかる時間は0.05でした
  7. 10の9乗を予測してみましょう
  8. このパターン見てみる限りnを10の倍数で
  9. 増加させる度に時間も10倍増えています
  10. ループを10倍ずつ行っているので
    驚くことではありません
  11. ループする回数が入力値nの倍としての尺度で
  12. nを10倍増加させると時間も10倍増えます
  13. ここで得た値をさらに10倍増加させると
  14. これも増加すると予測できます
  15. 1000万回行うと約2分の1秒
  16. かかるでしょう さらに10倍増加させると
  17. 実行時間も10倍増加すると予測できます
  18. なので5秒になるはずです
  19. さらに10倍増加させると
  20. これが試したい10億回ですが
    さらに10倍に増加すると予測できます
  21. 約50秒になるでしょう
  22. これは100万を渡したspin_loopを
    行った時に出たような
  23. 1,000回ほど正確ではないものの
  24. それに近いものです 今はほぼ1分かかっています
  25. これは約54秒になるでしょう
  26. 少しだけ少ないかもしれませんが近いはずです
  27. 何度か試すと違う値が出るでしょう
  28. もう一度試してみましょう
  29. 今回は55.89秒になりました 近い数字ですね
  30. ここで重要なことは実行時間は
    spin_loopする入力の値によって決まることです
  31. それは直線的に決まります
  32. nの大きさを増やすとループする回数が多くなり
  33. 実行時間がその値で直線的に増えます