题记:在编写程序或者做项目时,往往需要对运行时间做粗略估计,或者存储空间等等。读了此章内容,受益匪浅。
基本技巧:
- 两个答案比一个答案好。
- 快速检验。这个很有意思,把所有的单位列入计算,其实类似于初高中物理。英里*英里*英里=英里3
- 经验法则。-----72法则
假设以年利率r投资一笔钱y年,如果r*y=72,那么投资差不多会翻倍
应用:假设一个指数程序解决规模为n=40的问题需要10秒时间,并且n每增加1运行时间就增加12%,72法则告诉我们,n每增加6,运行时间就加倍
性能估计
安全系数
Little定律
系统中物体的平均数量 = 物体离开系统的平均速率 * 每个物体在系统中停留的平均时间(并且如果物体离开和进入系统的总体出入流是平衡的,那么离开速率也就是进入速率)
应用:某个地方可容纳60人,每人停留的时间为3小时。
那么我们可以计算出,这个地方的进入速率或者说离开速率差不多是每小时20人。
如果此时队伍前面有20人,我们就可以估算出,我们还有一个小时才能进去。
粗略计算系统相应时间:
系统中可同时N个用户访问。用户停留时间为Z,系统响应时间为R。系统的吞吐量为X。
那么N=(Z+R)*X R=N/X-R
结:任何事都应尽量简单,但不宜过于简单。