WWDC2010 Session312 LLVM Compiler的新特性
LLVM(Low Level Virtual Machine)是新的compiler环境,用C++编写。LLVM project在University of Illinois at Urbana-Champaign大学的Vikram Adve和Chris Lattner的领导下,开始于2000年。当时,Lattner作为助教和硕士生刚刚加入此大学。后来在2005年,Lattner受雇于Apple。
Compiler Landscape
目前的三个编译器的架构:
Xcode 3.2.3中的LLVM Compiler并不支持C++。你只能使用LLVM-GCC。现在Xcode 4中的LLVM Compiler 2.0 已经完全支持C++。这就是为什么Xcode4的默认compiler是LLVM Compiler。不建议大家采用GCC 4.2,因为Apple因为不再fix GCC的bug了。
iOS4中的WebKit, JavaScriptCore, OpenSSL都是使用LLVM编译的。性能提升:Open SSL 28%, JavaScriptCore 11%。
LLVM Compiler
1. 编译快 - Debug builds大约是以前的3倍。
2. 更易使用
3. 优美而有意义的错误信息
Clang Frontend是C家族编程语言的解析器,可用于C, Objective-C, C++.
Clang 被好几个工具所用到: LLVM Compiler, Xcode Static Analyzer, Xcode 4, LLDB Debugger, OpenCL. Clang 被集成到了Xcode 4中完成下列功能:source code indexing, syntax highlighting, code completion, live warnings and Fix-its.Xcode Static Analyzer通过分析静态代码,自动发现bug(并非编译时)。
LLVM Compiler 2 C++的好处
1. 更快的编译速度
2. 优美而有意义的错误信息
3. 二进制完全兼容
4. 更好的遵守C++标准
5. 支持Objective-C++
性能C++编译性能: 快25%C++内存消耗: 少33%将来的C++ '0x Standard
将会提供libc++来支持新的C++ standard.
我认为每个用Xcode的程序员都应该使用LLVM。
WWDC2010 Session312 What's New in the LLVM Compiler
Author: Chris Lattner - LLVM Chief Architect
posted on 2011-04-05 20:29 VinceOniPhone 阅读(997) 评论(0) 编辑 收藏 举报