代码移动code motion
-一种常见的优化
-这种优化是把(一种需要执行多次但计算结果不会改变)的计算移到前面
-这种优化一般需要程序员自行移动代码,不能依靠编译器(编译器担心会有副作用)

看看代码就明白了

void combine(vec_ptr v, data_t *dest)
{long int i;long int length = vec_length(v);    //把vec_length函数移来这里*dest = IDENT;//这个不是重点for(i = 0;i < length;i++)        //而不是for(i = 0;i < vec_length(v);i++),不然会一直需要执行vec_length函数
    {data_t val;get_vec_element(v,i,&val);*dest = *dest OP val;}}

转载于:https://www.cnblogs.com/yingzheng-programming/p/5060778.html

优化:代码移动code motion相关推荐

  1. vscode安装swift插件_使用 Webpack 优化 VS Code 插件加载性能

    Webpack 这一 JS 模块打包神器相信大家都不陌生了.由于 VS Code 插件大部分也都是 JS/TS 代码 + 依赖库的形式,因此也可以使用 Webpack 打包,优化性能. 经过实测,经过 ...

  2. webpack优化之code splitting

    作为当前风头正盛的打包工具,webpack风靡前端界.确实作为引领了一个时代的打包工具,很多方面都带来了颠覆性的改进,让我们更加的感受到自动化的快感.不过最为大家诟病的一点就是用起来太难了. 要想愉快 ...

  3. 【编译原理笔记16】代码优化:流图,常用代码优化方法, 基本块的优化

    本次笔记内容: 8-1 流图 8-2 常用代码优化方法一 8-3 常用代码优化方案二 8-4 基本快的优化 本节课幻灯片,见于我的 GitHub 仓库:第16讲 代码优化_1.pdf 文章目录 流图 ...

  4. 72名图灵奖获得者的成就

    来源:图灵教育 从"图灵机"到"图灵测试",从破译德军的 Enigma 到自杀之谜,图灵一生都是传奇,关于图灵的故事我们不在这里赘述,感兴趣的读者请看文末推荐阅 ...

  5. 【科普】72名图灵奖获得者的成就

    来源:图灵教育 从"图灵机"到"图灵测试",从破译德军的 Enigma 到自杀之谜,图灵一生都是传奇,关于图灵的故事我们不在这里赘述,感兴趣的读者请看文末推荐阅 ...

  6. 看了 72 位图灵奖得主成就,才发现我对计算机一无所知

    来源:人工智能AI技术 今天是计算机科学之父.人工智能之父 艾伦·麦席森·图灵 诞辰 108 周年.作为"图灵意志"的传承者,依照惯例,在今日纪念这位伟人. 从"图灵机& ...

  7. 编译器发展史5个十年3大人物及编译器知识(公号回复“编译器”下载PDF资料,欢迎转发、赞赏、支持科普)

    编译器发展史5个十年3大人物及编译器知识(公号回复"编译器"下载PDF资料,欢迎转发.赞赏.支持科普) 原创: 秦陇纪 科学Sciences 今天 科学Sciences导读:继本号 ...

  8. 编译原理(8):代码优化

    声明:本系列文章,是根据中国大学MOOC网 哈工大的编译原理 这门课学习而成的学习笔记. 一.流图 基本块(Basic Block) 基本块是满足下列条件的最大的连续三地址指令序列 控制流只能从基本块 ...

  9. 一文了解72名图灵奖获得者的成就

    来源:图灵教育 今天是计算机科学之父.人工智能之父 艾伦·麦席森·图灵 诞辰 108 周年.作为"图灵意志"的传承者,依照惯例,在今日纪念这位伟人. 从"图灵机" ...

最新文章

  1. UNION会自动删除重复项,union与union all的差异
  2. MySql模糊查询中特殊字符处理
  3. 接口应用之“静态代理”
  4. [推荐]Windows2003 Server 设置大全(一)
  5. python处理文件错行_打印当前python文件错误行
  6. ZZULIOJ 1093: 验证哥德巴赫猜想(函数专题)
  7. WebAppBuilder自定义主题
  8. RouteOS 频繁自启
  9. TensorFlow+pytorch+gpu+anaconda极简安装教程
  10. [na]win7系统安装在t450s
  11. vc word bookmark
  12. 加密就像玩魔方----图文详解对称加密(DES、AES)
  13. 笃志前行 锐意进取 | 中创算力在区块链比赛中展现新风采
  14. 薛之谦明星人物介绍html源码 html期末大作业 课程设计
  15. eclipse新建javaweb项目——javaweb系列(一)
  16. 货郎问题java_动态规划----货郎担问题
  17. Linux下useradd命令与adduser命令的区别(adduser更适合初级使用者,useradd比较适合有些高阶经验的使用者)
  18. 中国第一个IT职场情商测评
  19. 【机器人学、机器视觉与控制】用工具箱确定D-H参数
  20. 解决蓝牙鼠标和电脑连接出现卡顿的情况

热门文章

  1. Springboot — 用更优雅的方式发HTTP请求(RestTemplate详解)
  2. Linux中五种压缩命令
  3. Android开发笔记(九十六)集合动画与属性动画
  4. ngxin做http强制跳转https,接口的POST请求变成了GET
  5. 2. 怎么根据nagios报警做出调整的
  6. Quick Sort(三向切分的快速排序)(Java)
  7. Debian 项目领导人职位已有三位侯选者
  8. 前端必须懂的计算机网络知识—(XSS、CSRF和HTTPS)
  9. TOSCA自动化测试工具安装
  10. Android权限详解