中の技術日誌
 

わんくまライブラリ Wankuma.Interop.InteropQueryPerformanceCounterクラス Version1

2005/07/19

この文書はVisual Studio 2003(.NET1.1)をベースに記述されています。それ以降のバージョンや、あなたが読んでいる時点では変更されている可能性があります。
またバージョンアップされている場合にはなんらかかの不具合を含んでいる可能性があります。

新バージョンへ
Wankuma.Interop.InteropQueryPerformanceCounter2d.htm

ソースファイルへ
Wankuma.Interop.InteropQueryPerformanceCounter1s.htm

ソースファイル直接ダウンロードへ
Wankuma.Interop.InteropQueryPerformanceCounter1c.txt

利用規約へ
../kiyaku.htm

クラスの説明

Windows APIの世界でもっとも細かい単位で(分解能という)時間を計測するにはQueryPerformanceCounterを使います。

[HOW TO] Visual C# .NET で、QueryPerformanceCounter を使用してコードの時間を計測する方法
http://support.microsoft.com/kb/306979/ja

[HOW TO] Visual Basic .NET で QueryPerformanceCounter を使用してコードの時間を計測する方法
http://support.microsoft.com/kb/306978/ja

ただしこのKBのままでは使いにくいですので、ラップしました。

メソッドの説明

public void Start()

計測を開始します

public void End()

計測を終了します

プロパティの説明

public long Frequency

分解能を取得します。

public double Result

計測結果を返します

テストコード

C#

Wankuma.Interop.InteropQueryPerformanceCounter iqpc = new Wankuma.Interop.InteropQueryPerformanceCounter();
iqpc.Start();	//計測を開始します
System.Threading.Thread.Sleep(1000);		//時間のかかる処理をします
iqpc.End();	//計測を終了します
double Result = iqpc.Result;
System.Diagnostics.Debug.WriteLine(Result);

VB

Dim iqpc As Wankuma.Interop.InteropQueryPerformanceCounter = New Wankuma.Interop.InteropQueryPerformanceCounter
iqpc.Start()     '計測を開始します
System.Threading.Thread.Sleep(1000)    '時間のかかる処理をします
iqpc.End()      '計測を終了します
Dim Result As Double = iqpc.Result
System.Diagnostics.Debug.WriteLine(Result)

結果

0.999437143266322

勉強会: 05/18 大阪 登録受付中

中の技術日誌
コンテンツ
わんくま同盟
わんくま同盟
わんくま同盟
広告
バナー
MVP LOGO
MSMVP Visual C# Since 2004/04-2007/03
MCP LOGO
070-316
姉妹サイト
姉妹サイト:じゃんぬのC#, VB.NET 入門
じゃんぬの
C#, VB.NET 入門
検索
Google

ブログ本家
広告