《编程珠玑》 粗略估算
2015-06-03 15:45
357 查看
题记:在编写程序或者做项目时,往往需要对运行时间做粗略估计,或者存储空间等等。读了此章内容,受益匪浅。
基本技巧:
两个答案比一个答案好。
快速检验。这个很有意思,把所有的单位列入计算,其实类似于初高中物理。英里*英里*英里=英里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
结:任何事都应尽量简单,但不宜过于简单。
基本技巧:
两个答案比一个答案好。
快速检验。这个很有意思,把所有的单位列入计算,其实类似于初高中物理。英里*英里*英里=英里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
结:任何事都应尽量简单,但不宜过于简单。
相关文章推荐
- Java 坦克小游戏心得
- Java学习 - 内存简介
- python实现支持目录FTP上传下载文件的方法
- 深入了解Struts1的运行机理
- Ehcache 整合Spring 使用页面、对象缓存
- 源码-struts2-xwork
- PHP的包依赖管理工具Composer简介
- C++11 thread
- java-线程的sleep(),wait(),notify(),yield()方法的区别
- Java模式(适配器模式)
- Leetcode Problem.190—Reverse Bits C++实现
- log4net的简单应用
- C++实现的垃圾回收机制
- ThinkPHP3.2完全开发手册《多层MVC》
- Spring AOP 代理机制
- java 追加文件
- Win7下搭建Eclipse+STM32开发环境
- Java -Thread.yield详解
- java Future 接口介绍
- php面向对象(OOP)—封装性