软件性能优化漫谈(一):软件性能测量与分析

本文介绍了软件性能优化的重要性,引用了Amdahl定律,强调局部优化的关键作用。文章详细讨论了性能测量的挑战,如计时器精度、额外开销和外部随机噪音,并提出性能基线的概念,强调在基准分析法中建立基线和正确评测性能的重要性。
摘要由CSDN通过智能技术生成

引言

你能获得的对程序最大的加速比,就是当你第一次让它工作起来的时候。
—— John K.Ousterhout

软件(或程序)最主要目标,是在所有可能的情况下都正确工作,一个运行得很快但是给出错误结果的软件是没有任何价值的。

另一方面,在很多情况下,让程序运行得更快也是很重要的。比如资源受限的嵌入式系统,对响应时间有要求的实时系统,或者一个计算量非常大的海量任务处理系统,都需要程序运行得足够快。

而让软件或程序运行得更快的技术,就是软件性能优化技术。

软件性能优化,是指在不改变硬件的前提下,通过软件的等价变换获得更高的执行速度

在本系列文章中,将从软件性能测量与分析、性能优化方法和技术实践等方面,谈一谈软件性能优化的相关问题。

Amdahl 定律与局部优化

首先我们来看一个及其重要的定律:Amdal 定律。

Gene Amdahl,计算领域的先驱之一,做出了一个关于提高系统一部分性能的效果的简单但是富有洞察力的观察,这个观察现在被称为Amdahl定律。

考虑一个系统,其执行某个任务需要的时间为 Told 。假设这个系统中的某部分程序的运行时间占用 Told 的百分比为 α ,而我们将这部分程序的性能提高了 k 倍。也就是说,这一部分程序原来需要时间 αTold ,而现在需要时间 (αTold)/k 。因此,整个执行时间就是:

Tnew=(1α
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值