为什么80%的码农都做不了架构师?>>>   

http://msdn.microsoft.com/en-us/magazine/cc301698.aspx

在link时刻做的代码优化。

平时接触的编译器优化基本是compile time优化,比如inline这样的工作。

其限制就是可以做的东西就是在一个编译单元里,一旦调用的一个函数在另外一个编译单元,就只有跳转着一个选择,至于跳转的细节就是在link time来决定了。

link time 优化就是在拿到所有编译单元结果了之后,在全局做的一个优化,这时候可以理解成整个编译域变成一个编译单元,很多compile时刻的优化可以linktime做了。

比如inline,调用函数的时候,不用所有的东西都push到stack里,也可以直接放到register里直接调用。

或者更好的thread local storage的reference。

我在查看asm的时候还发现过把一样的函数合并,比如void func0();void func1();编译出来是一个东西,但是不在一个编译单元里,link time code generation会把向两个函数跳转的语句变成像一个地方跳转。

不好的地方就是编译时间变慢很多,所以shipping的时候带着ltcg(link time code generation)是不错的选择,平时开发的时候就算了吧。

原文链接: http://blog.csdn.net/ccanan/article/details/6030323

转载于:https://my.oschina.net/dtec/blog/44526

link time code generation相关推荐

  1. JIT Code Generation代码生成

    JIT Code Generation代码生成 一.表达式编译 代码生成(Code Generation)技术广泛应用于现代的数据系统中.代码生成是将用户输入的表达式.查询.存储过程等现场编译成二进制 ...

  2. MLIR与Code Generation

    MLIR与Code Generation MLIR多级中间表示 MLIR 项目是一种构建可重用和可扩展编译器基础架构的新方法.MLIR 旨在解决软件碎片问题,改进异构硬件的编译,显着降低构建特定领域编 ...

  3. MaxCompute 中的Code Generation技术简介

    摘要: 前言 在<数据库系统中的Code Generation技术介绍>中,我们简单介绍了一下Code Generation技术及其在大规模OLAP系统,特别是大规模分布式OLAP系统中的 ...

  4. 代码生成(Code Generation) 表达式编译

    代码生成(Code Generation)技术广泛应用于现代的数据系统中.代码生成是将用户输入的表达式.查询.存储过程等现场编译成二进制代码再执行,相比解释执行的方式,运行效率要高得多.尤其是对于计算 ...

  5. JAVA 中的代码生成包 CGLIB (Code Generation Library)

    JAVA 中的代码生成包 CGLIB (Code Generation Library) CGLIB 是一个功能强大,高性能的代码生成包.它为没有实现接口的类提供代理,为 JDK 的动态代理提供了很好 ...

  6. asm(Java字节码操控框架)和 CGlib(Code Generation Library)

    asm概述 asm 是一个 Java 字节码操控框架. 它能够以二进制形式修改已有类或者动态生成类.ASM 可以直接产生二进制 class 文件,也可以在类被加载入Java 虚拟机之前动态改变类行为. ...

  7. 文章翻译|TRANX:A Transition-based Neural Abstract Syntax Parser for Semantic Parsing and Code Generation

    Abstract 我们提出了TRANX,一个基于transition的神经语义解析器,将自然语言(NL)映射到formal meaning representation(MRs).TRANX对目标MR ...

  8. 中间代码生成(Intermediate Code Generation)

    中间代码生成(Intermediate Code Generation) 申明语句的翻译 类型表达式 申明式语句翻译 简单赋值语句的翻译 数组引用的翻译 控制流语句的翻译 控制流语句及其SDT 布尔表 ...

  9. 论文阅读:Leveraging Code Generation to Improve Code Retrieval and Summarization via Dual Learning

    论文题目与链接: [2002.10198] Leveraging Code Generation to Improve Code Retrieval and Summarization via Dua ...

最新文章

  1. Nature子刊:微生物来源分析包SourceTracker——结果解读和使用教程
  2. 关于CRTP(Curiously Recurring Template Prattern)的使用
  3. python入门看什么书-请问初学者学Python看那本书?
  4. Effect of Switchovers, Failovers, and Control File Creation on Backups
  5. [转帖]Mootools源码分析-03 -- Hash
  6. Google Analytics(分析)
  7. 相机下载_相机拍摄控制工具
  8. Composer更新慢的终极解决方案-转
  9. python爬虫实战(1)——爬取知乎热门回答图片
  10. Python 打印嵌套list中每个数据(遍历列表)
  11. 【比赛】CCL“中国法研杯”相似案例匹配评测竞赛 - TOP队伍攻略分享
  12. 凡事易学难精,要精通都要天赋
  13. 写在午夜之时 ——《doom启示录》读后感(一)
  14. 北航计算机学院考研英语一还是二,2020北京航空航天大学计算机考研考试科目知多少?...
  15. ASCII码中10和13的含义
  16. 关于重写equals()和hashCode()的思考__从HashMap源码分析
  17. Linux环境下进行本地Blast比对——操作流程
  18. stm32通过ESP8266连接互联网服务器,手机通过网页实现远程控制灯亮灭
  19. 计算机下桌面显示不出来,电脑桌面文档不会在右边显示出来怎么办
  20. 【题解】A1004 求三个数的平均数

热门文章

  1. Mysql对事务的支持
  2. Redis数据库的管理
  3. IOS 2D游戏开发框架 SpriteKit--续(创建敌对精灵)
  4. Hibernate_13_QBC查询
  5. DataNode内部的各种数据结构
  6. Java Web学习(七)HttpServletResponse(客户端响应)
  7. ScrollView HorizontalScrollView
  8. Scrapy 框架入门
  9. MySQL命令行登陆,远程登陆MySQL
  10. 第11讲++数据的基本查询