Pareto原理在代码优化中的应用
来源:互联网 发布:aicare袜子怎么样知乎 编辑:程序博客网 时间:2024/06/05 08:59
Pareto原理
Pareto原理又叫80/20定律,内容是你可以用20%的工作量得到80%的结果,这个原理除了用于程序设计中,在其它领域也有应用,但它已明确地用于程序优化。
Pareto原理又叫80/20定律,内容是你可以用20%的工作量得到80%的结果,这个原理除了用于程序设计中,在其它领域也有应用,但它已明确地用于程序优化。
Barry Boehm在报告中说20%的程序段消耗了这个程序80%的执行时间。在早期的论文《对FORTRAN程序的经验研究》中,Donald Knuth发现不到4%的程序经常占用超过 50%的运行时间(1971)。
Knuth用一个线性计数表分析程序,发现了这样一个惊人的关系,它的含义对程序优化是清楚的。你应该测试你的程序,找出频繁使用的地方,然后对经常使用的那百分之几的代码进行优化。Knuth列表分析了他的线性计数程序并发现:两个循环花费了一半的程序执行时间,他改变了几行代码使原程序速度提高两倍。
Jon Bentley讲述了一个例子:一个一千行的程序花费了它80%的时间,在五行中求平方根,通过提高求平方根程序速度3倍的方法,他提高了原程序速度的2倍。
Bentley也在报告中讲了一个例子。一个小组发现:一半的系统操作时间花费在一个小的循环语句上,他们重新用微代码写了循环的语句,使循环速度提高十倍,但是这样做并不能改变系统的性能——他们不得不又重写了系统原来松散的循环语句。
ALGOL语言的设计小组——也是Pascal、C和Ada(曾经是最有影响的语言之一)语言的先驱,接受了如下忠告:“最好”是“好”的敌人,追求完善可能阻碍了完成,首先要完成程序,然后再完善它,需要完善的部分通常是很少的。
摘自《代码大全》Page450
- Pareto原理在代码优化中的应用
- ABC分类法在库存优化管理中的应用原理
- Pareto
- 代码在项目中的应用
- log4j 在代码中的应用
- 【多目标优化】Pareto最优解很少
- 【多目标优化】Pareto优胜的概念
- 多目标优化-测试问题及其Pareto前沿
- MATLAB 函数在优化问题中的应用
- 淘宝在hbase中的应用和优化
- DocumentFragment 对象在性能优化中的应用
- Matlab在最优化计算中的应用
- 隔板原理在程序设计中的广泛应用
- 对偶原理在SVM中的应用
- 斐波纳奇回调线在杠杆叠加原理中的应用
- huffman树在word2vec中的应用原理
- Java代码在实战中的优化
- iReport 报表在应用程序中的应用代码!
- SYS_GUID()与sequence的比较
- HDU2149 Public Sale 博弈
- the command-line window of vim
- java设计模式--工厂方法设计模式
- 基于Web在线聊天系统初步构想。
- Pareto原理在代码优化中的应用
- Android有效解决加载大图片时内存溢出的问题
- SASL
- java国外网站
- 关于object-c的回调
- Log4Net配置
- 人不成熟的六个特征
- CentOS Linux 下设置adsl上网
- 使用vim编辑多个文件