首页 > 代码库 > 效能分析

效能分析

      咦,性能?我们又回到这个永恒的话题上了。Yep,大部分程序猿都对性能有着不懈追求。某国最喜欢“多快好省”,“多”和“省”我们是很难做到了,但让自己的程序跑得又快又好,则是我们最乐意干的活。干同样一件事情,别人的程序要跑1分钟,而自己的程序只要几秒钟,这是多爽的一件事啊(您打败了全国99%的程序猿……)!

     不过,话虽然这样说,但实际操作起来,效率优化并不是件容易的事。时间复杂度是最容易拉开效率差距的地方,但却也是最难拉开人与人之间差距的地方——毕竟很多问题的解决方案都比较成熟了,要能找到个时间复杂度更优的算法似乎不是一件容易的事情。然而,即便是复杂度相同的两份程序,由于程序常数不同,运行效率也往往有很大差异。试一下stdlib.h里的qsort,以及STL里的sort,就可以清楚地看出同样O(NlogN)的排序算法能有多大区别。不仅如此,实际程序往往还会涉及I/O、线程通信等操作,这些操作的快慢可不是靠复杂度分析就能得出结论的了。

      因此,如何在有限时间内尽可能地提高程序效率是个非常重要而复杂的问题。Visual Studio为我们提供了强大的性能分析工具,让我们能很快找出程序的性能瓶颈,从而能有针对性地改进程序常数。

对java性能工具jprofiler工具简单的说一下:

      JProfiler主要是监控消耗系统资源的,以及对相应的类,线程,内存溢出等等进行监控。

下图是我词频一下效能以及计算机当前线程的测试:

技术分享

 技术分享

 

效能分析