网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > 时间与效率 > 正文

优化时间效率的方法

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

  1.       常数计算的优化

  一个表达式如果经常包含常数计算,则由于与数学表达式近似,易读性是很好,但是执行效率却不高.例如:

  for i:=1 to 100 do

  for j:=1 to 100 do

  begin

  tax:=a[i,j]-3200/12;

  int:=irate[j]/365/12-i;

  b:=tax/3*4;

  end

  在上面的程序中,常数表达式3200/12,365*12,4/3都要重复计算10000次,这样显然是没有必要的.于是可以改为

  c1:=3200/12;

  mc:=365*12;

  c2:=4/3;

  for i:=1 to 100 do

  for j:=1 to 100 do

  begin

  tax:=a[i,j]-c1;

  int:=irate[j]/mc –i;

  b:=tax*c2;

  end

  这样c1,c2,mc只计算一次并保持了原来的易读性.而且这样写即清楚有提高了程序的效率

  2.       算术运算的优化

  计算机中各种算术运算的效率相差很大,稍加注意就可以提高程序的效率.

  算术运算的速度由高到低为:加法>减法>乘法>除法>整数幂运算>实数幂运算

  所以提高效率的方法是:

  (1)    用加法代替乘法(仅对小整数而言)

  3*I不如I+I+I

  (2)    以乘法代替除法

  a/0.5不如a*0.2快

  (3)    对于多次除法运算使用下面的替换更有意义

  a:=2.0/x;

  c:=b+d/x;

  e:=(F-G)/x;

  改写为:

  PX:=1/x;

  a:=2.0*PX;

  c:=b+d*PX;

  e:=(F-G)*PX;

  (4)    尽量少用实数幂

  b3.0/2.0不如SQRT(b3)

  (5)    高次整数幂应该利用降阶操作

  p:=a*x^6+b*x^5-c*x^3+d*x^2+e;

  不如写为:

  p:=(((a*x+b)*x*x-c)*x+d)*x*x+e;

  前者为16次乘法和4次加减法,后者为6次乘法和4次加减法相差很多

  3.       利用非扩展循环

  相比之下在循环中,判断和增值运算比一个简单的赋值语句要费时,于是可以这样进行赋值:

  for i:=1 to 1000 do

  begin

  a[i]:=1;

  a[i+1]:=1;

  a[i+2]:=1;

  a[i+3]:=1;

  i:=i+4;

  end;

  这样就可以减少判断和增值运算3/4.但是这种方法也要适可而止不要写上100个赋值语句来让循环只有10次.

  在多层前套循环中应将循环数值大的放在内循环中,循环数值小的放在外面,这样也可以提高程序执行效率.

  还要将于循环无关的判断等操作放在循环的外面完成.

  4.       对于数组的访问优化

  我们知道计算机存放数组永远都是一维的,多维数组只是语言上面的约定,是为了易读易写而设置的,根据pascal的约定,数组的存放顺序是:

  后继元素的下标增量从右到左的.以数组x为例,x的顺序是

  x[1,1] 对应的地址是 1

  x[1,2] 对应的地址是2

  ****  对应的地址是 **

  x[1,500] 对应的地址是500

  x[2,1] 对应的地址是501

  x[2,2] 对应的地址是502

  ****  对应的地址是 **

  x[20,500] 对应的地址是10000

  如果我们存数组的顺序是按照x[1,1],x[2,1],x[3,1]…..的顺序的时候,所访问的地址为1,501,1001…...但是数据在机器里面存放是按照2KB为一个分页的,因此当寻址加上标值的位移量时还要查页码,反复查页码会耗费时间,所以当元素较多的时候应尽可能的按照顺序安排计算.

  • 上一篇资讯: 时间效率管理
  • 下一篇资讯: Flash课件制作的得与失
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师