随笔分类 -  Performance

Performance Tool and Trick
摘要:"Markup extensions are used to extend the capabilities of XAML, by providing declarativeoperations that need more than just setting some properties. These can be used to do prettymuch anything, so caution is advised – these extensions must preserve the declarative natureof XAML, so that non-dec 阅读全文
posted @ 2013-06-27 21:27 DebugLZQ 阅读(4734) 评论(7) 推荐(4) 编辑
摘要:最近因为工作的事情想了很多,此处略去三千字吧。。。还是把事件这个技术拿过来沉淀一下,继续学习,继续提高自己,好吧,废话不多说,进入正题吧~关于事件各位应该都不陌生,相信每个程序员都可以拍着胸脯说“事件?我知道啊~”,可如何自定义事件?也许有人心中就不是那么底气十足了。还是老规矩吧,高手绕行~用很多地... 阅读全文
posted @ 2012-11-04 02:14 DebugLZQ 阅读(7981) 评论(15) 推荐(6) 编辑
摘要:在.NET中,由于有了垃圾回收机制的支持,对象的析构和以前C++有了很大的不同,这就要求程序员在设计类型的时候,充分理解.NET的机制,明确怎样利用Dispose方法和Finalize方法来保证一个对象正确而高效地被析构。 我们知道,在.NET环境中,托管的资源都将由.NET的垃圾回收机制来释... 阅读全文
posted @ 2012-08-28 20:11 DebugLZQ 阅读(3673) 评论(16) 推荐(6) 编辑
摘要:上篇介绍了.net中可用的定时器,本片主要介绍.net中可用的计时器。第一种方法:使用Stopwatch Stopwatch 在基础计时器机制中对计时器的刻度进行计数,从而测量运行时间。如果安装的硬件和操作系统支持高分辨率性能的计数器,则 Stopwatch 类将使用该计数器来测量运行时间;否则,Stopwatch 类将使用系统计数器来测量运行时间。使用 Frequency 和 IsHighResolution 两个静态字段可以确定实现 Stopwatch 计时的精度和分辨率。 实际上它里面就是将QueryPerformanceCounter、QueryPerformanceFrequ... 阅读全文
posted @ 2012-08-05 11:54 DebugLZQ 阅读(1984) 评论(1) 推荐(2) 编辑
摘要:.net中的计时问题可能每个人都会遇到,但是很少有人系统的总结,Baidu了下,无果,故写作本文。本文旨在总结.net中可用的各种计时方法,介绍的是DebugLZQ知道的几种.net中的定时、计时方法。并进行了我所知道的分析(重点)和简单使用,并不涉及更深层次的讨论。进入正题: 定时器是系统常用的... 阅读全文
posted @ 2012-08-05 10:55 DebugLZQ 阅读(11521) 评论(5) 推荐(3) 编辑
摘要:1:socket VS remoting 使用socket无疑是效率最高的。但是,在复杂的接口环境下,socket的开发效率也是最低的。故在兼顾开发效率的情况下,可以使用remoting来代替socket开发。并且: 1、Tcp通道的Remoting速度非常快。 你可以通过端口查看工具,发现remoting比直接socket传输的内容,应该是属于同一个数量级的。我的另一个担心是,大客户端数量的情况下,remoting传输效率会不会很低,结果经过现场测试,同时对300个客户端进行数据通信,不存在信息丢失情况。 2、虽然是远程的,但是非常接近于本地调用对象。 也就是完全符合面向对象思想。 3、可以 阅读全文
posted @ 2012-08-03 15:19 DebugLZQ 阅读(2370) 评论(0) 推荐(0) 编辑
摘要:1. .NET Remoting .NET Remoting是微软随.NET推出的一种分布式应用解决方案,被誉为管理应用程序域之间的 RPC 的首选技,它允许不同应用程序域之间进行通信(这里的通信可以是在同一个进程中进行、一个系统的不同进程间进行、不同系统的进程间进行)。 更具体的说,Microsoft .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架。也就是说,使用.NET Remoting,一个程序域可以访问另外一个程序域中的对象,就好像这个对象位于自身内部,只不过,对这个远程对象的调用,其代码是在远程应用程序域中进行的,例如在本地应用程序域中调用远.. 阅读全文
posted @ 2012-07-30 12:18 DebugLZQ 阅读(13529) 评论(46) 推荐(21) 编辑
摘要:就像剥去.NET语法糖衣的工具(Reflector等)很多一样,我们可以用来分析.NET程序性能的工具有很多,如前面一片博文DebugLZQ给大家介绍的vs自带的性能分析工具,除此之外常用的还有还有clr profiler、Windbg等。 vs自带的性能分析可以很快的找到瓶颈代码,而且支持多线程。 Windbg就不多说了,Windows平台下强大的用户态和内核态调试工具!虽然windbg也提供图形界面操作,但它最强大的地方还是有着强大的调试命令,用起来比较费劲。 这里主要要说的是CLR Profile了,他检测结果最为详细,不过由于检测托管堆分配和垃圾回收会影响应用程序的运行速度,... 阅读全文
posted @ 2012-07-12 13:16 DebugLZQ 阅读(4414) 评论(10) 推荐(3) 编辑
摘要:这篇博文给大家分享的是,如何使用VS自带的性能分析工具来分析我们编写的.NET程序,一边找出程序性能的瓶颈,改善代码的质量。在实际开发中,性能真的很重要,往往决定一个产品的生死~良好的用户体验的基础之一也是程序要有好的性能~下面以一个大家熟悉比较极端的例子,来说明编写代码时考虑性能的重要性。这里DebugLZQ用的是10.0版本的VS。示例程序代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace VS2010性能测试{ class Program ... 阅读全文
posted @ 2012-07-10 21:22 DebugLZQ 阅读(7472) 评论(11) 推荐(12) 编辑