- - PR -
100分の1秒の計測
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-09-12 11:44
おはようございます。
VB2005にて、処理時間を計測するのに Debug.WriteLine("START-" & System.DateTime.Now) としましたが、100分の1秒の計測を行いたいのです。 何か良い方法ありませんか? | ||||||||
|
投稿日時: 2007-09-12 11:55
DateTime 構造体は、タイマ刻み単位で値を保持しています。で、1 タイマ刻みは 100 ナノ秒です。
ですから DateTime 自体は要求を十分に満たすだけのデータを持っています。 あとはそれをどう表現するかだけ。 ということで、MSDN やヘルプで「日付と時刻の書式指定文字列」を調べてみてください。 // でも、システムタイマ自体は結構大雑把なので注意してください。 // 詳しくは DateTime.Now の解説を。 // もっと高い精度が必要なら Stopwatch クラスの使用を検討してください。 | ||||||||
|
投稿日時: 2007-09-12 12:38
どれくらいの精度が必要なんですか?
| ||||||||
|
投稿日時: 2007-09-12 13:13
渋木宏明(ひどり)さんへ
そんなに高い精度は必要ありません。 処理時間の計測ですので。 | ||||||||
|
投稿日時: 2007-09-12 13:36
Millisecond プロパティでミリ秒は普通にとれますし、
ToString()で書式を指定しても表示できます。(1/100秒ならfffかな。) | ||||||||
|
投稿日時: 2007-09-12 13:42
じゃあ「計測」に関しては、「開始 ~ 終了時の DateTime.Now の値を比較」でよさそうですね。
で、大した精度が必要でなく「1/100 秒単位の時間が表示されない」ってだけなら、それはもう「計測(の操作)」そのものとはあまり関係がない話になります。 DateTime.Now.ToString(書式文字列) として 1/100 秒単位までの時刻を表示するか、既にコメントがついているように、DateTime.Now.Millisecond プロパティの値を参照してください。 [ メッセージ編集済み 編集者: 渋木宏明(ひどり) 編集日時 2007-09-12 13:44 ] | ||||||||
|
投稿日時: 2007-09-12 14:16
解りました。
ありがとうございます。 | ||||||||
|
投稿日時: 2007-09-12 14:47
.NET 2.0 以降なら、Stopwatch クラスってのもありますね>計測 |