目次
1.実行環境
- Debian7.11
- Python2.7
2.まず初めに
以前の記事を機にクラスの書き方を覚えたので処理時間を計測するために簡易的なタイマークラスを自作して、 実際に利用してみる。
以前の記事はこちらから
3.簡易タイマークラス
以下のようなクラスを作成した。 ざっくり概要を説明をすると、 基本的なタイマー機能である - 開始 - 停止 - リセット - 時間出力 を実装した。
TestTimer.py
# -*- coding: utf-8 -*- import sys from time import time class TestTimer: def __init__(self): self.startTime = 0 self.stopTime = 0 def start(self): self.startTime = time() def stop(self): if self.startTime == 0: print "First call start()!!!" sys.exit() self.stopTime = time() def reset(self): self.startTime = 0 self.stopTime = 0 def printTime(self): if not self.startTime is None and self.stopTime is None: print "call stop()!!!" sys.exit() else: processingTime = self.stopTime - self.startTime print "Time:{0}".format(processingTime)
4.実行スクリプト
以下が実行用のスクリプトになる
概要としてはコンソールに1~10000までを表示する処理の時間を計測するプログラムになる。 最後にリセットをして時間出力を行っているが、start()を呼び出していない状態では時間計測は開始されていないため、 0秒を出力していることとなる。
timer_test.py
# -*- coding: utf-8 -*- from TestTimer import TestTimer testTimer = TestTimer() testTimer.start() for i in range(10000): print i testTimer.stop() testTimer.printTime() testTimer.reset() testTimer.printTime()
5.実行してみる
実際に実行すると以下のような結果が出力されるはずだ。
$python timer_test.py
実行結果
1 ・ ・ ・ ・ 9996 9997 9998 9999 Time:0.074373960495 Time:0
以上