Japanese subtitles

← 18-05 Stopwatch

18-05 Stopwatch

Get Embed Code
2 Languages

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

  1. 物事がどれだけの時間を要するのか理解するために
    Pythonインタプリタで試してみましょう
  2. ここにコードの実行時間を計る関数を書きました
  3. ストップウォッチで時間を計ります
  4. 正確な時間を得るためには
    とても長いものを実行させる必要があります
  5. Pythonにはtimeモジュールがあります
  6. 時間を測定するためのtime.clock関数です
  7. ストップウォッチを用意して
    十分長い実行時間を要するプログラムを実行すると
  8. どれほど時間がかかるのか把握できます
  9. このtimeモジュールを利用すれば
  10. 秒数に評価するtimeモジュールによって
    より正確な時間が得られます
  11. time.clockの値は数秒で
    現在のプロセッサタイムを出します
  12. この開始点はまったくの任意ですが重要なのは
  13. これを2度呼び出すことです
  14. 1度目の呼び出しで開始し 2度目で停止します
  15. これを変数startとstopに保存します
  16. これによりコードを実行するために
    費やす時間が分かります
  17. 関数はご覧のとおりです
  18. 変数startを現在の時刻に設定することから開始し
  19. コードを実行します
  20. 何が実行されるかはあとでお話しします
  21. 現在の時間とstartの時間との間を計算します
  22. それにより実行時間が分かります
  23. 実行にかかった時間とコードの結果の両方を渡します
  24. とてもワクワクすることが起こりますよ
  25. 使うのはevalです evalでPython式における
  26. あらゆる文字列を評価することができます
  27. この文字列を渡しますがevalに文字列を
  28. 渡したらコードとしてそれを実行します
  29. time_executionには何を渡しても構いません
  30. startから実行が終わるまでの時間を出し
  31. コード実行の結果も出します
  32. このようにtime_execution関数を定義しました
  33. Python式を評価するために要する時間が分かります
  34. これまで使用してきたようなWebブラウザIDを通して
  35. 実行する代わりにいくつかテストを実行します
  36. 私のデスクトップコンピュータで実行することで
    直接Pythonシェルを実行します
  37. より正確な時間測定を行うためです
  38. 私たちが提供するWebブラウザインターフェースを
    使用しても計測できます
  39. 問題はプログラムを実行する時間に制限があり
  40. あまり正確な時間が得られないことです
  41. Pythonシェルでこれらを実行します
    Pythonをインストールしてあるなら
  42. 自分で試してみてください
  43. 使用方法はWebサイトで見ることができますが
    クラスで続ける必要が
  44. 必ずしもあるわけではないので
    time_executionがどのように
  45. 機能するのかだけ示します
  46. サンプルを試してみましょう
  47. 1 + 1の実行時間を計ります
  48. 簡単な2つの数値を追加し
    time_executionを実行すると
  49. どれほど時間がかかるのか確認します
  50. 2つの結果が得られます 1足す1は2になりますね
  51. 2つ目がかかった時間になります
  52. 読みにくいですが冒頭は8.3のようですね
  53. そのあとにeー05が続きますがこれは
  54. 指数表現を使用するという意味です
    ー05は少数点を意味し
  55. 小数点後にゼロを4つつけるという意味です
  56. なので実際は0.000083...秒の意味です
  57. 実行にかかった時間を秒数にすると
    0.00008となります
  58. もう1度同じことを試しても
    まったく同じ結果を得られるわけではありません
  59. これは機械内で起きている
    他の要因に左右されるからです
  60. まったく同じ解答は得られません
  61. しかしとても小さな数値ですね
  62. あと数回試してもこの小さな数値を
    目にし続けることになります
  63. より複雑なものを追加して行った場合
    やはりとても小さな数値が得られます
  64. マイクロ秒という小さな数値です
  65. 実際のプロセッサタイムそのものは
    おそらくこれらよりも
  66. 低いものになりますが機械内には
    他にも起きているものがありますので
  67. 正確な時間を計るためには
    他の動作を停止させる必要があります
  68. もっと長いものを試してさらに確認してみましょう
  69. この確認ではより実際に近い評価は分かりません