软件的性能分析

随着科技的发展,信息传播的载体的途径也在增多,例如:网站制作、电子邮件、广播电视等等。Windows XP或Vista的用户可以观察到,大型复杂软件应用的性能并不像想象中那么复杂。拿 Windows举例来说,随着时间的推移,应用程序加载的时长也会变长。越来越多的互联网与间谍软件的结合,致使系统的运行速度略有下降。虽然一些实用的应用程序可以恢复原来的性能,但事实上,性能优化仍然是亟待提高的一项技术。性能迟缓的软件不仅只在微软公司出现。各种Symantec的工具都遭到了频繁的投诉,比如诺顿的防毒软件,它的速度很让人着急。据笔者个人观察,假如电脑没有安装最新的CPU的话,诺顿杀毒软件在24小时内是无法完成扫描的。   因为性能分析并不总是软件工程或计算机科学课程里的一部分,所以许多软件工程师都不能很好地处理性能优化的问题。在像IBM这样的大公司,他们会雇用一些专业人员,这些专业人员在处理软件性能方面接受过特殊的训练。假如公司开发功能点大于10000的软件应用,这类专家当然是最佳人选。目前,有许多性能工具和度量设备,比如收集动态数据的分析器。当然,将软件性能的度量能力嵌入到软件应用本身也是可行的,这被称为“插桩技术。” 因为插桩技术和其他形式的性能分析工具可能会降低程序运行速度,所以需要必要的维护来确保数据的正确性。性能优化领域用到了几个物理学方面的术语,例如,“海森堡漏洞”( Heisenbug)是根据海森堡不确定性原理命名的,它是指每次在阅试分析时就消失的漏洞。另一个物理学术语是“波尔漏洞”( Bohrbug),它是根据尼尔斯·玻尔的名字来命名的,这种漏洞只有在特殊的条件下才会出现。第三个物理学术语是“曼德尔漏洞”( Mandelbug).它是以伯尼特·且德尔布罗特的名字来命名的,他创造了混沌理论,这种形式的漏洞是由随机的和混乱的因素引起的,所以隔离起来很困难。第四个漏洞是“施罗德漏洞”( Schrodenbug),该漏洞非常少见.是以恩斯特·施罗德的名字命名的。通常情况下,这种漏洞是不会出现的,除非有人意识到那些代码根本就不应该执行;并且据说,当这些漏洞被发现时,软件也会停止工作。 性能问题的出现也基于商业周期。例如,许多的金融和会计软件包会在一个季度或者一个财政年度的使用后.运行速度会显著变慢,那是因为使用量的骤增造成的。软件在运行过程中.如果严重的漏洞导致软件无法运行.那么软件的性能将为零.而在性能这一章中没有对其很好的讨论。这种问题能够通过平均失效时间来测量。这样的问题在软件交付后一到两个月内是很常见的,但是会随着软件的逐步稳定而减少。拒绝服务攻击也会使软件停止工作,这种情况越来越常见了。 最后需要说明的一点是,性能的最佳实践和质量控制以及安全控制的做法类似。一个通用的最佳实践就是雇用性能方面的专业人员以及质量控制和安全控制方面的优秀人员。就安全来说.在查找性能问题上,人工智能或者神经网络性能优化工其的效果会比测试或人工性能测试专家好很多。一款相似的软件可以运用在架构和设计上,该下具在编码前就可以根据性能优化规则和算法提供最佳的性能优化方案。 一般来说,在处理复杂问题,如安全漏洞和性能问题上,人工智能和神经网络是值得推荐的。这些主题与自主计算或者应用交叉,并且这些应用都倾向于监控并提高本机的性能和质量。
返回新闻列表