カテゴリ: Python 更新日: 2026/07/06

Pythonで経過時間を計測する方法を完全解説!初心者でもわかる time.perf_counter() と time.sleep()

Pythonで経過時間を計測する方法(time.perf_counter() / time.sleep())
Pythonで経過時間を計測する方法(time.perf_counter() / time.sleep())

先生と生徒の会話形式で理解しよう

生徒

「Pythonでプログラムがどれくらい時間かかったかを調べる方法ってありますか?」

先生

「ありますよ。Pythonには時間を計測するための便利な仕組みが用意されています。」

生徒

「パソコンをほとんど触ったことがなくても使えますか?」

先生

「もちろんです。時計を見る感覚で考えれば大丈夫です。一緒にゆっくり見ていきましょう。」

1. Pythonで経過時間を計測するとは?

1. Pythonで経過時間を計測するとは?
1. Pythonで経過時間を計測するとは?

Pythonで経過時間を計測するとは、「処理の開始から終了までに、どれくらい時間がかかったか」を調べることです。 たとえば、料理で言うと、ストップウォッチで調理時間を測るイメージです。 プログラミングでは、処理が速いか遅いかを知るために、経過時間の計測がとても重要です。 Python 初心者の方でも、時間計測を知っておくと、プログラムの動きが目に見えるようになります。

2. timeモジュールとは?

2. timeモジュールとは?
2. timeモジュールとは?

Pythonには「モジュール」という便利な道具箱があります。 timeモジュールは、時間に関する機能がまとめられた道具箱です。 モジュールとは、よく使う機能をひとまとめにした部品のようなものです。 時間を計測したり、処理を一時的に止めたりするときに使います。


import time

この1行を書くことで、timeモジュールが使えるようになります。

3. time.perf_counter()で正確な経過時間を測ろう

3. time.perf_counter()で正確な経過時間を測ろう
3. time.perf_counter()で正確な経過時間を測ろう

time.perf_counter()は、Pythonで経過時間を測るときによく使われる方法です。 とても精度が高く、ストップウォッチのように正確な時間を測れます。 「perf」は「performance(性能)」の略で、細かい時間の差を測るための関数です。


import time

start = time.perf_counter()
end = time.perf_counter()

print(end - start)

これは、開始時間と終了時間を記録し、その差を表示するシンプルな例です。

4. 処理を入れて経過時間を測ってみよう

4. 処理を入れて経過時間を測ってみよう
4. 処理を入れて経過時間を測ってみよう

実際に何か処理を入れてみると、経過時間がわかりやすくなります。 ここでは、数字を数えるだけの簡単な処理を使います。


import time

start = time.perf_counter()

for i in range(1000000):
    pass

end = time.perf_counter()

print("経過時間:", end - start)

経過時間: 0.05

このように、プログラムが動いていた時間を数字で確認できます。

5. time.sleep()で処理を止める方法

5. time.sleep()で処理を止める方法
5. time.sleep()で処理を止める方法

time.sleep()は、プログラムの動きを一時的に止めるための機能です。 電子レンジの「◯分待つ」ボタンのようなイメージです。 数字は「秒」を表していて、指定した秒数だけ処理が止まります。


import time

print("開始")
time.sleep(3)
print("終了")

開始
(3秒待つ)
終了

6. time.sleep()とperf_counter()を組み合わせる

6. time.sleep()とperf_counter()を組み合わせる
6. time.sleep()とperf_counter()を組み合わせる

time.sleep()で止めた時間も、経過時間として計測できます。 これにより、「本当に指定した秒数止まっているか」を確認できます。


import time

start = time.perf_counter()
time.sleep(2)
end = time.perf_counter()

print("経過時間:", end - start)

表示される数値は、おおよそ2秒になります。

7. 初心者がつまずきやすいポイント

7. 初心者がつまずきやすいポイント
7. 初心者がつまずきやすいポイント

初心者の方がよく混乱するのは、「秒」という単位です。 time.sleep(1)は1秒、time.sleep(0.5)は0.5秒です。 小数点を使えるので、細かい時間調整もできます。 また、time.perf_counter()は「現在時刻」ではなく「経過時間用」だと覚えておくと安心です。

8. Pythonで時間計測を学ぶメリット

8. Pythonで時間計測を学ぶメリット
8. Pythonで時間計測を学ぶメリット

Pythonで経過時間を計測できるようになると、プログラムの速さを比べたり、 待ち時間のある処理を作ったりできます。 ゲーム、業務自動化、データ処理など、さまざまな場面で役立ちます。 パソコン初心者の方でも、時計を見る感覚で理解できるのが大きな特徴です。

まとめ

まとめ
まとめ

Pythonで経過時間を計測する重要性と基本の振り返り

本記事では、Pythonで経過時間を計測する方法として、timeモジュールの基本からtime.perf_counterとtime.sleepの使い方までを初心者向けにわかりやすく解説してきました。Pythonの時間計測は、プログラムの処理速度を把握するために欠かせない重要な技術であり、実務でも頻繁に利用されます。特に、処理の最適化やパフォーマンス改善を行う際には、正確な経過時間の測定が必要になります。

Python初心者の方にとっては、時間計測という言葉は難しく感じるかもしれませんが、実際にはストップウォッチのように「開始」と「終了」の差を求めるだけのシンプルな考え方です。この基本を理解することで、プログラムの動きを数値として確認できるようになり、より深い理解につながります。

time.perf_counterとtime.sleepの使い分け

Pythonで経過時間を計測する際に重要なのが、time.perf_counterの存在です。この関数は高精度な時間を取得できるため、処理時間の測定に最適です。一方で、time.sleepは処理を一定時間停止させるために使用されます。これらを組み合わせることで、処理の待ち時間や実行時間を正確に確認できます。

time.perf_counterは「計測するための道具」、time.sleepは「待つための道具」として使い分けることで、Pythonの時間制御をより効率的に行うことができます。初心者の方は、この二つの役割をしっかり区別することが重要です。

サンプルプログラムで理解する時間計測の応用

次に、実務でも役立つ形として、複数の処理の時間を比較するサンプルコードを紹介します。これにより、どの処理が速いのかを判断できるようになります。


import time

def process_a():
    for i in range(500000):
        pass

def process_b():
    for i in range(1000000):
        pass

start_a = time.perf_counter()
process_a()
end_a = time.perf_counter()

start_b = time.perf_counter()
process_b()
end_b = time.perf_counter()

print("処理Aの時間:", end_a - start_a)
print("処理Bの時間:", end_b - start_b)

このように複数の処理を比較することで、どの部分が遅いのかを見つけることができます。Pythonの時間計測は、単なる確認だけでなく、プログラム改善のヒントにもなります。

初心者が理解しておくべき時間計測のポイント

Pythonの時間計測で大切なのは、秒という単位の理解と、処理の流れを意識することです。time.sleepでは秒単位で停止するため、数値の意味を正しく理解することが重要です。また、perf_counterは現在時刻ではなく、経過時間の計測に適した関数である点も押さえておく必要があります。

初心者の方は、まずは短いコードで実際に動かしてみることをおすすめします。体験しながら学ぶことで、時間の流れとプログラムの動きが結びつきやすくなります。

Python時間計測の活用シーンとメリット

Pythonで経過時間を計測できるようになると、さまざまな場面で役立ちます。例えば、データ処理の速度比較、アルゴリズムの性能検証、ゲームやアニメーションの待ち時間制御など、多くの分野で応用可能です。

また、処理時間を意識することで、無駄な処理を減らし、効率の良いプログラムを書く力が身につきます。これは実務開発において非常に重要なスキルであり、初心者のうちから意識しておくことで大きな差につながります。

Pythonのtimeモジュールはシンプルでありながら非常に強力な機能を持っています。今回学んだtime.perf_counterとtime.sleepを活用することで、プログラムの動きをコントロールし、より高度な処理へとステップアップすることができます。

先生と生徒の振り返り会話

生徒

「Pythonで時間を測るのって難しそうだと思っていましたが、意外とシンプルなんですね。」

先生

「はい。基本は開始と終了の差を見るだけなので、とても分かりやすい仕組みです。」

生徒

「time.sleepとperf_counterの違いも理解できました。」

先生

「それは良いですね。用途に応じて使い分けることが大切です。」

生徒

「これからは処理の速さも意識してプログラムを書いてみます。」

先生

「とても良い姿勢です。時間計測ができるようになると、プログラムの質が一段と上がりますよ。」

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
Python の日時操作の記事一覧へ
新着記事
New1
PHP
PHPのforeachループを完全ガイド!初心者でもわかる配列・連想配列の処理
New2
Python
Pythonでリストを分割する方法(スライス / split() / itertools)
New3
Python
Pythonのクロージャー(Closure)とは?関数内関数とnonlocalの活用
New4
Python
Pythonのエラーメッセージの読み方!よくあるエラーと解決方法
人気記事
No.1
Java&Spring記事人気No1
PHP
PHPの認証機能を実装する方法!初心者でもわかるログイン・ログアウト処理の基本
No.2
Java&Spring記事人気No2
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
No.3
Java&Spring記事人気No3
PHP
PHP の文字列のフォーマット(sprintf, printf)
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を計測する方法を完全解説!初心者でもわかる time.perf_counter() と time.sleep()
No.5
Java&Spring記事人気No5
PHP
PHP のフォームデータの受け取り($_POST, $_GET)を完全解説!初心者向けガイド
No.6
Java&Spring記事人気No6
Python
Pythonのリストを反転(逆順)する方法を解説!初心者向けにreverseメソッドとスライス表記[::−1]を丁寧に説明
No.7
Java&Spring記事人気No7
Python
Pythonのクロージャー(Closure)とは?関数内関数とnonlocalの活用
No.8
Java&Spring記事人気No8
PHP
PHPのセキュリティチェックリストを丁寧に解説!初心者でも理解できる安全対策ガイド