C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

DebugとReleaseの実行速度が異なる

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■90855 / inTopicNo.1)  DebugとReleaseの実行速度が異なる
  
□投稿者/ kodon (1回)-(2019/05/08(Wed) 12:43:12)

分類:[.NET 全般] 

VB.NET2015でADボードから電圧信号を取得・表示するプログラムを書いています。

実行速度を評価するために、
Doループの時間を表示しているのですが、



以前までは、Debugで30 ms、Releaseで8 msとなっており、
Releaseの方が速かったのですが、
今は、なぜかこれが逆転し、
Debugで8 ms、Releaseで30 msとなってしまいます。
Releaseでも、何度かやりなおすと8 msになる時もあります。

一体、なぜDebugの方が速くなることがあるのでしょうか?

ちなみに、いま実行しているプログラムが
ReleaseかDebugか確認するにはどうしたら良いですか?

引用返信 編集キー/
■90856 / inTopicNo.2)  Re[1]: DebugとReleaseの実行速度が異なる
□投稿者/ 魔界の仮面弁士 (2155回)-(2019/05/08(Wed) 13:57:13)
No90855 (kodon さん) に返信
> Debugで8 ms、Releaseで30 msとなってしまいます。
> Releaseでも、何度かやりなおすと8 msになる時もあります。

8ms / 30ms のタイミングが入れ替わる事があるということは、実のところ、
Debug/Release の違いによって生じていたのではなく、それ以外の要因によって
左右されているということではないかと推察します。

実環境で検証していかないと、なかなか判断を下しにくいところではありますが…。


> ちなみに、いま実行しているプログラムが
> ReleaseかDebugか確認するにはどうしたら良いですか?

実行時に、自身が Debug ビルドであるかどうかを判定したいということでしょうか。
それとも、既に作成済みの EXE や DLL が Debug ビルドであるかどうかを確認したいのでしょうか。
あるいはビルドの指定ではなく、実際にデバッガにアタッチされているかどうかの確認でしょうか?

https://dobon.net/vb/dotnet/programing/define.html
https://dobon.net/vb/bbs/log3-32/19500.html
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=9019
引用返信 編集キー/
■90857 / inTopicNo.3)  Re[2]: DebugとReleaseの実行速度が異なる
□投稿者/ kodon (2回)-(2019/05/08(Wed) 14:07:05)
ありがとうございます。


> Debug/Release の違いによって生じていたのではなく、それ以外の要因によって
> 左右されているということではないかと推察します。


自分、それ以外の要因のような気がしてきました。

コードは以下のような感じです。

SetTimeのところで、データの表示速度を設定しています。

調子のいいときは、SetTimeの値を8、9、10と変化させると
データ表示される間隔も8、9、10と変化します。

しかし、調子の悪い時は、
31となっており、
SetTimeを30くらいまで上げると
45とか60くらいに不連続に上がるような現象が起きています。

一体、何が原因でしょうか?

個人的には、CPUのスレッド処理がうまくいっているときといない時の違いではないかと思うのですが、
バックグラウンドプロセスをこれ一つにしてもうまくいったりいかなかったりするのですが
一体なぜでしょうか?


Dim sw As New Stopwatch

sw.Reset()
sw.Start()

Dim SetTime As Integer = 8 (Numeriupdownから設定)

Do

ADボードデータ取得



If sw.ElapsedMilliseconds >= SetTime Then

sw.Reset()
sw.Start()

データ表示


End If

Loop


引用返信 編集キー/
■90888 / inTopicNo.4)  Re[3]: DebugとReleaseの実行速度が異なる
□投稿者/ shu (1179回)-(2019/05/10(Fri) 15:55:12)
No90857 (kodon さん) に返信

> 一体、何が原因でしょうか?
>
> 個人的には、CPUのスレッド処理がうまくいっているときといない時の違いではないかと思うのですが、
> バックグラウンドプロセスをこれ一つにしてもうまくいったりいかなかったりするのですが
> 一体なぜでしょうか?
>
Windows上にはこれ以外にもたくさんスレッドが動いているからだと思います。
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ