link time code generation
为什么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相关推荐
- JIT Code Generation代码生成
JIT Code Generation代码生成 一.表达式编译 代码生成(Code Generation)技术广泛应用于现代的数据系统中.代码生成是将用户输入的表达式.查询.存储过程等现场编译成二进制 ...
- MLIR与Code Generation
MLIR与Code Generation MLIR多级中间表示 MLIR 项目是一种构建可重用和可扩展编译器基础架构的新方法.MLIR 旨在解决软件碎片问题,改进异构硬件的编译,显着降低构建特定领域编 ...
- MaxCompute 中的Code Generation技术简介
摘要: 前言 在<数据库系统中的Code Generation技术介绍>中,我们简单介绍了一下Code Generation技术及其在大规模OLAP系统,特别是大规模分布式OLAP系统中的 ...
- 代码生成(Code Generation) 表达式编译
代码生成(Code Generation)技术广泛应用于现代的数据系统中.代码生成是将用户输入的表达式.查询.存储过程等现场编译成二进制代码再执行,相比解释执行的方式,运行效率要高得多.尤其是对于计算 ...
- JAVA 中的代码生成包 CGLIB (Code Generation Library)
JAVA 中的代码生成包 CGLIB (Code Generation Library) CGLIB 是一个功能强大,高性能的代码生成包.它为没有实现接口的类提供代理,为 JDK 的动态代理提供了很好 ...
- asm(Java字节码操控框架)和 CGlib(Code Generation Library)
asm概述 asm 是一个 Java 字节码操控框架. 它能够以二进制形式修改已有类或者动态生成类.ASM 可以直接产生二进制 class 文件,也可以在类被加载入Java 虚拟机之前动态改变类行为. ...
- 文章翻译|TRANX:A Transition-based Neural Abstract Syntax Parser for Semantic Parsing and Code Generation
Abstract 我们提出了TRANX,一个基于transition的神经语义解析器,将自然语言(NL)映射到formal meaning representation(MRs).TRANX对目标MR ...
- 中间代码生成(Intermediate Code Generation)
中间代码生成(Intermediate Code Generation) 申明语句的翻译 类型表达式 申明式语句翻译 简单赋值语句的翻译 数组引用的翻译 控制流语句的翻译 控制流语句及其SDT 布尔表 ...
- 论文阅读: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 ...
最新文章
- Nature子刊:微生物来源分析包SourceTracker——结果解读和使用教程
- 关于CRTP(Curiously Recurring Template Prattern)的使用
- python入门看什么书-请问初学者学Python看那本书?
- Effect of Switchovers, Failovers, and Control File Creation on Backups
- [转帖]Mootools源码分析-03 -- Hash
- Google Analytics(分析)
- 相机下载_相机拍摄控制工具
- Composer更新慢的终极解决方案-转
- python爬虫实战(1)——爬取知乎热门回答图片
- Python 打印嵌套list中每个数据(遍历列表)
- 【比赛】CCL“中国法研杯”相似案例匹配评测竞赛 - TOP队伍攻略分享
- 凡事易学难精,要精通都要天赋
- 写在午夜之时 ——《doom启示录》读后感(一)
- 北航计算机学院考研英语一还是二,2020北京航空航天大学计算机考研考试科目知多少?...
- ASCII码中10和13的含义
- 关于重写equals()和hashCode()的思考__从HashMap源码分析
- Linux环境下进行本地Blast比对——操作流程
- stm32通过ESP8266连接互联网服务器,手机通过网页实现远程控制灯亮灭
- 计算机下桌面显示不出来,电脑桌面文档不会在右边显示出来怎么办
- 【题解】A1004 求三个数的平均数