C#でメソッドの実行時間を計測する方法【Stopwatchクラスの使い方】
.NETでメソッドの実行時間を計測したい場合は、System.Diagnostics名前空間に含まれるStopwatchクラスを使うのが最も簡単で確実な方法です。高精度タイマーに基づいているため、ミリ秒単位の細かい計測にも対応できます。
Stopwatchクラスの基本的な使い方
まず、StartNewメソッドを呼び出してストップウォッチを開始します。
Stopwatch s = Stopwatch.StartNew();
計測対象の処理を実行した後、ElapsedMillisecondsプロパティを参照することで、経過時間をミリ秒単位で取得できます。
s.ElapsedMilliseconds
サンプルコード
以下は、displayメソッドの実行時間を計測し、その結果を5回コンソールに出力する完全なコード例です。
using System;
using System.IO;
using System.Diagnostics;
public class Demo {
public static void Main(string[] args) {
Stopwatch s = Stopwatch.StartNew();
display();
for (int index = 0; index < 5; index++) {
Console.WriteLine("Time taken: " + s.ElapsedMilliseconds + "ms");
}
s.Stop();
}
public static void display() {
Console.WriteLine("Demo function!");
}
}
実行結果
Demo function! Time taken: 15ms Time taken: 16ms Time taken: 16ms Time taken: 16ms Time taken: 16ms
このように、Stopwatch.StartNew()を呼び出してからElapsedMillisecondsを参照するまでの経過時間がミリ秒で表示されます。Stop()を呼び出すまで計測は継続されるため、ループ内で何度値を参照しても問題ありません。
補足:より詳細な計測を行いたい場合
ミリ秒よりも高い精度が必要なケースでは、以下のプロパティやメソッドを活用すると便利です。
- ElapsedTicks:タイマーの刻み数(tick)で経過時間を取得でき、より高精度な計測が可能
- Elapsed:
TimeSpan型として経過時間を取得できるため、書式指定して表示しやすい - Restart():計測を停止してすぐに再スタートできるため、複数の処理を連続して計測する際に有用
パフォーマンスチューニングやボトルネックの特定など、処理速度の分析が必要な場面では、Stopwatchクラスを活用することで手軽かつ正確に実行時間を把握できます。
-
Androidで日付と時刻を変更する方法|時計アプリ・設定アプリの2つの手順を解説
Androidで日付と時刻を変更する方法Androidスマートフォンの時刻やタイムゾーンを変更したい場合、手順はとてもシンプルです。サマータイムへの切り替えや海外旅行時の時差対応など、さまざまな場面で役立ちます。機種によってメニューの名称が多少異なりますが、Samsung、Google Pixel、LGなど、どのメーカーの端末でも基本的な流れは共通しています。この記事では、Androidで日付と時刻を変更する主な2つの方法を詳しく解説します。ポイント「時計」アプリを開き、「設定」から新しい時刻を選択する「設定」>「システム」>「日付と時刻」から変更する方法1:時計アプリから変更する手順Andr
-
Pythonでコードの実行時間を計測する方法を解説
Pythonでプログラムの実行時間を測定したい場合、timeモジュールの関数を利用できます。また、より正確なベンチマークを行いたい場合には、Python公式ドキュメントでも推奨されているtimeitモジュールを使用するのが良いでしょう。 timeモジュールを使った基本的な計測方法 処理の開始前と終了後に時刻を取得し、その差分から経過時間を算出するのが基本的な方法です。 例 import time t0 = time.clock() print(Hello) t1 = time.clock() - t0 print(Time elapsed: , t1 - t0) # 経過したCPU秒数(