Sassyブログ

好きなことで暮らしを豊かにするブログ

Pyrhon入門 自作タイマークラスで処理時間計測をしてみよう

f:id:y_saiki:20171024233602j:plain

目次

1.実行環境

  • Debian7.11
  • Python2.7

2.まず初めに

以前の記事を機にクラスの書き方を覚えたので処理時間を計測するために簡易的なタイマークラスを自作して、 実際に利用してみる。

以前の記事はこちらから

www.sassy-blog.com

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

以上