算法合集之《论程序底层优化的一些方法与技巧》.ppt
《算法合集之《论程序底层优化的一些方法与技巧》.ppt》由会员分享,可在线阅读,更多相关《算法合集之《论程序底层优化的一些方法与技巧》.ppt(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、论程序底层优化的一些方法与技巧论程序底层优化的一些方法与技巧 成都七中成都七中 骆可强骆可强T(nT(n)=)=O(O(f(nf(n)效率效率效率效率时间效率时间效率时间效率时间效率=+=+空间效率空间效率空间效率空间效率算法!算法!算法!算法!T(nT(n)f(nf(n)C CC1C2C1C2算法算法算法算法算法算法底层优化底层优化底层优化底层优化底层优化底层优化?/最初版程序int get_max(int*a,int l)int mx=0,i;for(i=0;imx)mx=ai;return mx;/第一次优化int get_max(int*a,int l)int mx=0,*ed=a+l
2、;while(a!=ed)if(*amx)mx=*a;a+;return mx;/第二次优化int get_max(int*a,int l)assert(l%8=0);#define D(x)mx#x=0 int D(0),D(1),D(2),D(3),D(4),D(5),D(6),D(7),*ed=a+l;#define CMP(x)if(*(a+x)mx#x)mx#x=*(a+x);while(a!=ed)CMP(0);CMP(1);CMP(2);CMP(3);CMP(4);CMP(5);CMP(6);CMP(7);a+=8;#define CC(x1,x2)if(mx#x1mx#x2)m
3、x#x2=mx#x1;CC(1,0);CC(3,2);CC(5,4);CC(7,6);CC(2,0);CC(6,4);CC(4,0);return mx0;/第三次优化int get_max(int*a,int l)int ret;_asm_ _volatile_(movl$0,%eaxnt .p2align 4,15n LP1:nt cmpl -4(%1,%2,4),%eaxnt jge EDnt movl -4(%1,%2,4),%eaxn ED:nt /loop LP1nt decl%2nt jnz LP1nt movl%eax,%0nt :=m(ret):r(a),c(l):%eax)
4、;return ret;/第四个优化int get_max(int*a,int l)assert(l%2=0);int ret;_asm_ _volatile_(movl$0,%eaxnt movl$0,%edxnt .p2align 4,15n LP2:nt cmpl (%1),%eaxnt jge ED2nt movl (%1),%eaxn ED2:nt cmpl 4(%1),%edxnt jge ED3nt movl 4(%1),%edxn ED3:nt addl$8,%1nt subl$2,%2nt jnz LP2nt cmpl%edx,%eaxnt cmovll%edx,%eaxnt
5、 movl%eax,%0nt :=m(ret):r(a),r(l):%eax,%edx);return ret;/第五次优化int get_max(int*a,int l)assert(l%4=0);assert(sse2);int ret,tmp4;_asm_ _volatile_(txorps%xmm0,%xmm0n LP3:n tmovdqa%xmm0,%xmm1n tpcmpgtd (%1),%xmm1n tandps%xmm1,%xmm0n tandnps (%1),%xmm1n torps%xmm1,%xmm0n taddl$16,%1n tsubl$4,%2n tjnz LP3n
6、 tmovdqu%xmm0,(%3)n tmovl (%3),%eaxn tcmpl 4(%3),%eaxn tcmovll 4(%3),%eaxn tcmpl 8(%3),%eaxn tcmovll 8(%3),%eaxn tcmpl 12(%3),%eaxn tcmovll 12(%3),%eaxn tmovl%eax,%0n :=m(ret):r(a),r(l),r(tmp):%eax);return ret;/第六次优化 int get_max(int*a,int l)assert(l%4=0);assert(sse4);int ret,tmp4;_asm_ _volatile_(tx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论程序底层优化的一些方法与技巧 算法 程序 底层 优化 一些 方法 技巧
限制150内