新接触C#+.net 3.5,用C#重写了一个以前用Qt写的串口操作程序,并以Class Library方式编译,测试程序是以Console Application方式进行编译的C#程序,把发送和接收的信息用Console.WriteLine的方式打印出来,一切都很好,在用StopWatch来比较写一段0xFFF长度的CANBUS串口消息用了1.75秒左右的时间,跟用Qt写的操作时间差不多。

后来在这个Class Library增加了WPF的模块,于是在原来测试程序由Console Application改成Windows Application来编译,并把原来测试串口操作的程序以第二线程(即WPF为主线程)来执行,但这次StopWatch记录所花的时间居然是9秒多(在VS2008输出窗口中),难道是Windows Application编译会减慢速度?又转成Console Application来编译,这次就多了一个Console的黑窗口,时间上是1.75秒,跟以前是一样。难道是string的问题?把打印信息改成StringBuilder来组织,再以Windows Application来编译,还是一样9秒多。于是把Console.WriteLine注释掉,时间没有影响,一样是1.75秒左右。难道在Windows Application下使用Console.WriteLine会影响性能?查找了一下MSDN有关C# Debug的方法,使用System.Diagnostics.Trace.WriteLine,居然程序没有影响了。

所以以后如果想得到一些高度信息等调试手段,还是使用System.Diagnostics里的方法比较好。至于原理,现在还不清楚。

转载于:https://www.cnblogs.com/crazywolf/archive/2010/07/05/1771719.html

Console.WriteLine在以Windows Application方式下编译会产生性能问题相关推荐

  1. nbtscan在windows和linux下编译

    nbtscan在windows和linux下编译 windows 下载 编译 linux 下载编译 参考文章 windows 下载 http://unixwiz.net/tools/nbtscan-s ...

  2. 香港windows云服务器下编译webrtc

    本文只表述本人所采用的方法,并且编译成功m75版本(转载请在行首注明原创链接) 前提:阿里云上购买香港ecs,按量_4核4g_winserver_2019,按量_弹性公网_国际版_250M(服务器安装 ...

  3. 在Windows和Linux上编译gRPC源码操作步骤(C++)

    gRPC最新发布版本为v1.23.0,下面以此版本为例说明在Windows和Linux下编译过程. Windows7/10 vs2103编译gRPC源码操作步骤: 1. 需要本机已安装Git.CMak ...

  4. C# WPF框架下 Console.WriteLine()无法打印内容

    最近在做C#桌面应用的相关开发,用的是wPF框架. 今天本来想测试一下自己写的dll库 于是新建了一个项目,导入了自己写的库,然后像往常一样想打印下日志 发现不能打印.代码如下: public par ...

  5. .Net5下Console.WriteLine()方法无输出

    项目场景: 使用VS2019社区版,学习.Net5下的WPF程序开发 问题描述: 在学习过程中: 发现在WPF程序中,Console.WriteLine()函数无法输出调试信息 private voi ...

  6. 以Windows服务方式运行.NET Core程序

    原文:以Windows服务方式运行.NET Core程序 在之前一篇博客<以Windows服务方式运行ASP.NET Core程序>中我讲述了如何把ASP.NET Core程序作为Wind ...

  7. YOLOv4:目标检测(windows和Linux下Darknet 版本)实施

    YOLOv4:目标检测(windows和Linux下Darknet 版本)实施 YOLOv4 - Neural Networks for Object Detection (Windows and L ...

  8. Windows Server 2008 下ASP程序连接ORACLE数据库驱动错误

    今天开发那边升级.改造系统过程中,在测试服务器碰到关于ASP程序连接ORACLE数据库的小问题,虽然是小问题,但是整起来真要命啊,花了不少时间,主要是ASP程序啊,这种上古神器,哥还是当年毕业的时候弄 ...

  9. 在Windows Mobile和Wince(Windows Embedded CE)下如何使用.NET Compact Framework开发进程管理程序...

    在.NET Compact Framework 的进程管理需要调用win32的API,也就是P/Invoke,在msnd上提供了这一P/Invoke的源代码, Creating a Microsoft ...

最新文章

  1. Web UI设计的关键要素!
  2. Oracle EBS渗透测试工具
  3. 指定hdfs中namenode的地址_HDFS文件上传下载步骤
  4. 解决thinkphp在开发环境下文件模块找不到的问题
  5. 云计算市场竞争激烈 亚马逊微软IBM阿里业绩亮眼
  6. 最佳拟合直线_JAVA
  7. javaweb学习总结(三十一)——国际化(i18n)
  8. boost::coroutine模块实现不对称echo的测试程序
  9. SQLServer之深度分析Insert
  10. NSString 转为gbk
  11. Python3—爬虫实现有道在线翻译—(常见错误汇总及解决方法)
  12. 查看APK文件源代码
  13. java打印26个大写字母
  14. 生活中有哪些行为是高情商的表现?
  15. java windows wifi密码_windows10 通过命令行来查看wifi密码
  16. 懵懂新手查找区 !!! 超详细项目各个层以及内置小层的用处
  17. 姓名脱敏-除姓外为星号*
  18. linux系统加密狗
  19. 数据中心机房工程如何实施运维管理?有哪些方案?
  20. H5页面 用户启动无痕浏览本地储存 localstorage 清楚数据

热门文章

  1. FileZilla Server : FTP and FTPS Server
  2. linux下执行shell脚本文件,Linux下使用shell脚本自动执行脚本文件
  3. 知名的php cms,20款最为知名的开源PHP CMS
  4. 喜马拉雅xm格式转化mp3_怎样让mp3录音转文字?
  5. oracle 无法弹出图形界面,Xshell 5 不能弹出GUI 图形界面问题
  6. oracle实现分段,用Oracle分段空间管理功能改进数据库性能
  7. mysql的原理图解_MySQL排序工作原理
  8. oracle 查询创建的全文索引,CSS_oracle全文搜索创建与使用示例,说明:使用全文索引需要使用 - phpStudy...
  9. php画图取色,procreate怎么取色
  10. Pytorch笔记:维度dim的定义及其理解使用