对Google应用LLVM的情况不太了解,大致搜索了一下,根据这篇 C++ At Google: Here Be Dragons ,Google应该主要在用Clang代替G++。此外,还有像Tenzing这样的项目利用LLVM来对SQL query进行优化等。目测基本上主要是在应用LLVM,而不是开发LLVM本身(当然不排除向上游提patch)。如果是这样的话,Apple和Google在LLVM这件事上没有理由竞争。

根据我的一位同事的观点,站在LLVM创始人Chris Lattner的角度,LLVM现阶段不太可能脱离Apple。LLVM的远景很宏伟,其目标是全时优化。如果真的实现这个目标,那么今后可能出现这样一种场景:

  1. 用户开发一个基于LLVM的程序,在将其编译成native二进制代码的过程中LLVM会进行大量的编译期和链接期优化;
  2. 用户运行该二进制代码时,LLVM会在装载器进行装载期优化;
  3. 二进制代码运行期间,LLVM会根据运行过程中采集的信息通过直接改写二进制代码的方式进行运行时二进制优化(注意这跟普通的JIT是不一样的)。

要实现这样的目标,在整套体系完善之前,最好能够在统一的软硬件体系之下进行探索,以避免陷入繁杂的兼容性问题的陷阱。从这个角度上讲,Apple完全掌控着自己的软硬件,可谓LLVM最好的孵化场所。

— 完 —

本文作者:连城

【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)

此问题还有 4 个回答,查看全部。
延伸阅读:
Apple 和 HTC 的 647 号专利案,那个专利真的是 Apple 的吗?
苹果公司四处打专利战,这样不仅会让公司形象变坏,还会和合作伙伴结仇,而且费钱,为什么他还是在不停地进行专利诉讼?

分享到