C# WinForm 为什么我的Debug模式下比Release下速度快

小仙女&& 2019-05-22 03:31:35
在打开窗口的时候,Debug模式下比Release模式下还快两秒,这是什么情况啊
...全文
771 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
狂野的小强 2019-05-24
  • 打赏
  • 举报
回复
什么窗体打开要5s?
exception92 2019-05-23
  • 打赏
  • 举报
回复
引用 8 楼 小仙女&& 的回复:
[quote=引用 4 楼 exception92 的回复:] 2秒如何得出来的,还是仅凭自己在心里的计时? Release 模式会执行的更快,它优化了代码,编译成IL语言的时候会进行代码优化,摒弃一些无谓的变量,属性声明等等,还会对逻辑语句进行优化,这样就会减少了没必要的堆栈分配。可以使用反编译工具查看IL代码。经过优化的代码执行的更快。
经过计时器得出来的两秒,为什么Debug比Release还要快呢,奇怪的是这个地方[/quote] 多运行几次,并不是每次都是2s吧,如果是固定的2s,程序中是否有类似挂起线程的代码呢
小仙女&& 2019-05-23
  • 打赏
  • 举报
回复
引用 6 楼 jflyseven 的回复:
打开一个窗口要5秒、7秒,你不会在VS上直接点的启动吧,这也太慢了吧。直接打开编译后的exe文件,Release版本应该更快。有的算法在使用一些代码优化选项时,可能出现Debug版本比Release版本更快的问题,不过我感觉你不是这个问题。
我就是直接运行的。exe,是不是有什么地方弄错了,导致了现在这种情况
小仙女&& 2019-05-23
  • 打赏
  • 举报
回复
引用 4 楼 exception92 的回复:
2秒如何得出来的,还是仅凭自己在心里的计时? Release 模式会执行的更快,它优化了代码,编译成IL语言的时候会进行代码优化,摒弃一些无谓的变量,属性声明等等,还会对逻辑语句进行优化,这样就会减少了没必要的堆栈分配。可以使用反编译工具查看IL代码。经过优化的代码执行的更快。
经过计时器得出来的两秒,为什么Debug比Release还要快呢,奇怪的是这个地方
amouslion 2019-05-22
  • 打赏
  • 举报
回复
Debug是在调试环境下开发项目,生成文件较多。Release一般用于项目最后发布,如果项目非常多时使用release生成的发布内容要比debug生成的少,因为没有调试信息。
love氟利昂 2019-05-22
  • 打赏
  • 举报
回复
打开一个窗口要5秒、7秒,你不会在VS上直接点的启动吧,这也太慢了吧。直接打开编译后的exe文件,Release版本应该更快。有的算法在使用一些代码优化选项时,可能出现Debug版本比Release版本更快的问题,不过我感觉你不是这个问题。
it_gz_xi 2019-05-22
  • 打赏
  • 举报
回复
对的,Release是会慢点的啊?纠结什么呢?一个是调试版本,一个是发布版本肯定是有区别的啊?
exception92 2019-05-22
  • 打赏
  • 举报
回复
2秒如何得出来的,还是仅凭自己在心里的计时? Release 模式会执行的更快,它优化了代码,编译成IL语言的时候会进行代码优化,摒弃一些无谓的变量,属性声明等等,还会对逻辑语句进行优化,这样就会减少了没必要的堆栈分配。可以使用反编译工具查看IL代码。经过优化的代码执行的更快。
小仙女&& 2019-05-22
  • 打赏
  • 举报
回复
引用 2 楼 把分全给哥 的回复:
花不了那么长时间
我想问的是为什么Debug比Release下速度快,
把分全给哥 2019-05-22
  • 打赏
  • 举报
回复
花不了那么长时间
小仙女&& 2019-05-22
  • 打赏
  • 举报
回复
补充一下,Debug模式下打开一个窗体上5秒,Release模式下打开一个窗体是7秒,Release已经重新编译,还是不行,好奇怪

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧