D 2.0
About Japanese Translation

Last update Wed Jul 9 01:24:46 2008

std.perf

プラットフォーム非依存の、パフォーマンス測定用クラスです。

PerformanceCounter がメインのプラットフォーム非依存タイマークラスです。 経過 wall-clock 時間を計測する際の典型的な使い方をカバーしています。

このモジュールでは他に、特殊なケースで有用な Windows 専用のタイマーを提供しています。

Synopsis:
alias PerformanceCounter.interval_t interval_t;
auto timer = new PerformanceCounter;
timer.start();
// ここで計算
timer.stop();
interval_t elapsedMsec = timer.milliseconds;
writefln("Time elapsed: %s msec", elapsedMsec);
経過時間を問い合わせる前に stop() を呼ぶことに注意してください。

このクラスは STLSoft C++ libraries から D に移植されたものです。STLSoft 版に関する記事が Windows Develper Network の May 2003 号の記事 " Win32 Performance Measurement Options" にあります。

Source:
std/perf.d

Author:
Matthew Wilson

class PerformanceCounter;
ホストマシンで利用可能なもっとも高精度の測定APIを使用したパフォーマンスカウンタです。

Linux では、実装は gettimeofday() を使っています。 Windows では、可能な場合は QueryPerformanceCounter()、 それ以外では GetTickCount() を使用します。

alias interval_t;
測定時間を表現する型 (一般には、64-bit 符号付き整数)

void start();
測定開始

測定区間の開始を宣言します。

void stop();
測定終了

測定区間の終端を宣言します。 経過時間を period_count, seconds, milliseconds, or microseconds. で問い合わせる前に呼び出す必要があります。

stop() は、改めて start() を呼び出すことなしに複数回呼ぶことができます。 経過時間は常に、一番最近の start() と一番最近の stop() の間の時間となります。

const interval_t periodCount();
測定区間の経過時間カウンタ

マシン固有の単位で経過時間をカウントした量を返します。

const interval_t seconds();
測定区間の経過秒数

秒単位で、経過時間の長さを返します。

const interval_t milliseconds();
測定区間の経過ミリ秒数

ミリ秒単位で、経過時間の長さを返します。

const interval_t microseconds();
測定区間の経過マイクロ秒数

マイクロ秒単位で、経過時間の長さを返します。

class TickCounter;
低コスト低精度のパフォーマンスカウンタです。

このクラスは、低精度ですがレイテンシの小さいパフォーマンス測定を実現します。

Windows でのみ使用可能です。 Windows 環境では全ての環境で意味のある動作をすることが保証されています。

alias interval_t;
区間を表す型

測定時間を表現する型 (一般には、64-bit 符号付き整数)

void start();
測定開始

測定区間の開始を宣言します。

void stop();
測定終了

測定区間の終端を宣言します。 経過時間を period_count, seconds, milliseconds, or microseconds. で問い合わせる前に呼び出す必要があります。

stop() は、改めて start() を呼び出すことなしに複数回呼ぶことができます。 経過時間は常に、一番最近の start() と一番最近の stop() の間の時間となります。

const interval_t periodCount();
測定区間の経過時間カウンタ

マシン固有の単位で経過時間をカウントした量を返します。

const interval_t seconds();
測定区間の経過秒数

秒単位で、経過時間の長さを返します。

const interval_t milliseconds();
測定区間の経過ミリ秒数

ミリ秒単位で、経過時間の長さを返します。

const interval_t microseconds();
測定区間の経過マイクロ秒数

マイクロ秒単位で、経過時間の長さを返します。

class ThreadTimesCounter;
スレッド固有のパフォーマンス測定のために提供されるカウンタです。

このクラスは、OS のパフォーマンスモニタ機能を利用して、 システム上の他のスレッドの動作に左右されず呼び出しスレッドが使った時間を測定します。 スレッド固有モニタを持たないOSでは、 このクラスは意味のある値を返しません。

Windows でのみ使用可能です。

alias interval_t;
区間を表す型

測定時間を表現する型 (一般には、64-bit 符号付き整数)

this();
コンストラクタ

クラスのインスタンスを作成し、 インスタンスが作成されたスレッドのパフォーマンスを測るためにスレッドトークンを記録します。

void start();
測定開始

測定区間の開始を宣言します。

void stop();
測定終了

測定区間の終端を宣言します。 経過時間を period_count, seconds, milliseconds, or microseconds. で問い合わせる前に呼び出す必要があります。

stop() は、改めて start() を呼び出すことなしに複数回呼ぶことができます。 経過時間は常に、一番最近の start() と一番最近の stop() の間の時間となります。

const interval_t kernelPeriodCount();
カーネルモードでの経過時間カウンタ

マシン固有の単位でカーネルモードでの経過時間をカウントした量を返します。

const interval_t kernelSeconds();
測定区間のカーネルモードでの経過秒数

秒単位で、カーネルモードでの経過時間の長さを返します。

const interval_t kernelMilliseconds();
測定区間のカーネルモードでの経過ミリ秒数

ミリ秒単位で、カーネルモードでの経過時間の長さを返します。

const interval_t kernelMicroseconds();
測定区間のカーネルモードでの経過マイクロ秒数

マイクロ秒単位で、カーネルモードでの経過時間の長さを返します。

const interval_t userPeriodCount();
ユーザーモードでの経過時間カウンタ

マシン固有の単位でユーザーモードでの経過時間をカウントした量を返します。

const interval_t userSeconds();
測定区間のユーザーモードでの経過秒数

秒単位で、ユーザーモードでの経過時間の長さを返します。

const interval_t userMilliseconds();
測定区間のユーザーモードでの経過ミリ秒数

ミリ秒単位で、ユーザーモードでの経過時間の長さを返します。

const interval_t userMicroseconds();
測定区間のユーザーモードでの経過マイクロ秒数

マイクロ秒単位で、ユーザーモードでの経過時間の長さを返します。

const interval_t periodCount();
測定区間の経過時間カウンタ

マシン固有の単位で経過時間をカウントした量を返します。

const interval_t seconds();
測定区間の経過秒数

秒単位で、経過時間の長さを返します。

const interval_t milliseconds();
測定区間の経過ミリ秒数

ミリ秒単位で、経過時間の長さを返します。

const interval_t microseconds();
測定区間の経過マイクロ秒数

マイクロ秒単位で、経過時間の長さを返します。

class ProcessTimesCounter;
プロセス固有のパフォーマンス測定のために提供されるカウンタです。

このクラスは、OS のパフォーマンスモニタ機能を利用して、 システム上の他のプロセスの動作に左右されず呼び出しプロセスが使った時間を測定します。 プロセス固有モニタを持たないOSでは、 このクラスは意味のある値を返しません。

Windows でのみ使用可能です。

alias interval_t;
区間を表す型

測定時間を表現する型 (一般には、64-bit 符号付き整数)

void start();
測定開始

測定区間の開始を宣言します。

void stop();
測定終了

測定区間の終端を宣言します。 経過時間を period_count, seconds, milliseconds, or microseconds. で問い合わせる前に呼び出す必要があります。

stop() は、改めて start() を呼び出すことなしに複数回呼ぶことができます。 経過時間は常に、一番最近の start() と一番最近の stop() の間の時間となります。

const interval_t kernelPeriodCount();
カーネルモードでの経過時間カウンタ

マシン固有の単位でカーネルモードでの経過時間をカウントした量を返します。

const interval_t kernelSeconds();
測定区間のカーネルモードでの経過秒数

秒単位で、カーネルモードでの経過時間の長さを返します。

const interval_t kernelMilliseconds();
測定区間のカーネルモードでの経過ミリ秒数

ミリ秒単位で、カーネルモードでの経過時間の長さを返します。

const interval_t kernelMicroseconds();
測定区間のカーネルモードでの経過マイクロ秒数

マイクロ秒単位で、カーネルモードでの経過時間の長さを返します。

const interval_t userPeriodCount();
ユーザーモードでの経過時間カウンタ

マシン固有の単位でユーザーモードでの経過時間をカウントした量を返します。

const interval_t userSeconds();
測定区間のユーザーモードでの経過秒数

秒単位で、ユーザーモードでの経過時間の長さを返します。

const interval_t userMilliseconds();
測定区間のユーザーモードでの経過ミリ秒数

ミリ秒単位で、ユーザーモードでの経過時間の長さを返します。

const interval_t userMicroseconds();
測定区間のユーザーモードでの経過マイクロ秒数

マイクロ秒単位で、ユーザーモードでの経過時間の長さを返します。

const interval_t periodCount();
測定区間の経過時間カウンタ

マシン固有の単位で経過時間をカウントした量を返します。

const interval_t seconds();
測定区間の経過秒数

秒単位で、経過時間の長さを返します。

const interval_t milliseconds();
測定区間の経過ミリ秒数

ミリ秒単位で、経過時間の長さを返します。

const interval_t microseconds();
測定区間の経過マイクロ秒数

マイクロ秒単位で、経過時間の長さを返します。