DOBON.NETプログラミング道掲示板
(現在 過去ログ4 を表示中)
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[
最新記事及び返信フォームをトピックトップへ
]
[ トピック内全3記事(1-3 表示) ] <<
0
>>
■34560
/ inTopicNo.1)
StopwatchクラスのElapsedMillisecondsの挙動
▼
■
□投稿者/ あばば無人君
一般人(9回)-(2020/10/14(Wed) 14:30:27)
環境/言語:[Windows10(1909) 64bit、.Net Core 3.1、C#]
分類:[.NET]
いつもDOBON.NETの記事や掲示板を見て勉強させて貰っています。
さて、掲題の件ですが、StopwatchクラスのElapsedMillisecondsは
Stopwatch.Start()で計測を開始してからずっと放置していると
どうなるのでしょうか?
ElapsedMillisecondsはlong型で返るので9223372036854775807ミリ秒
(約2億9千万年)まで計測可能かと思われるのですが、たとえば
Stopwatch.Start()で計測を開始してから1年ほど経ったとすると
経過時間の蓄積?によってアプリの動作が重くなるといったことが
起きたりするのでしょうか?
年レベルの放置結果を自分で確かめることはさすがに厳しいので
どなたかご存知の方がいらっしゃいましたら教えて頂きたいです。
引用返信
削除キー/
編集
削除
■34561
/ inTopicNo.2)
Re[1]: StopwatchクラスのElapsedMillisecondsの挙動
▲
▼
■
□投稿者/ Hongliang
大御所(589回)-(2020/10/14(Wed) 14:41:57)
ソースを確認してみるといいかと。
.NET Frameworkのソース
https://referencesource.microsoft.com/#System/services/monitoring/system/diagnosticts/Stopwatch.cs,ceb0ba9cc88de82e
.NET Coreのソース
https://github.com/dotnet/runtime/blob/master/src/libraries/System.Private.CoreLib/src/System/Diagnostics/Stopwatch.cs
結論をいうと、開始時のタイムスタンプと現在/終了時のタイムスタンプから計算してるだけなので重くなるとかそういうのはないです。
引用返信
削除キー/
編集
削除
■34562
/ inTopicNo.3)
Re[2]: StopwatchクラスのElapsedMillisecondsの挙動
▲
▼
■
□投稿者/ あばば無人君
一般人(10回)-(2020/10/14(Wed) 15:19:27)
Hongliangさん、ご返信ありがとうございます。
> 結論をいうと、開始時のタイムスタンプと現在/終了時のタイムスタンプから計算してるだけなので重くなるとかそういうのはないです。
ソースを見るとGetRawElapsedTicks()で「現時点−開始時点」していました。
安心してStopwatchクラスを使用できそうです。
非常に早い返信をして頂き本当に助かりました。
これで本件は解決済みとさせて頂きます。
本当にありがとうございました。
解決
済
み!
引用返信
削除キー/
編集
削除
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-