Facebook 正在对 C++ 代码进行即时编译,它认为这是一种快速的脚本语言。
Facebook 工程师援引 phoronix 网站的消息typescript头文件,在本月在内罗毕举行的 EuroLLVM 会议上简要介绍了这项工作。
多年来,Facebook 在 HHVM 上的工作旨在对各种编程语言进行创新。 此前,当他们使用超快的C/C++预处理器进行其他开源语言相关工作时,系统运行速度非常慢。 今天的最新工作是直接支持JITC++代码,把它当作脚本语言,有巨大的速度提升。
具体来说,Facebook 目前在生产中使用 JIT-ed C++ 代码作为他们自己的“高效脚本框架”,用于在 L7 反向代理中处理 HTTP 请求处理逻辑。
如上图“HandlingallFacebookrequestswithJITedC++code”所示,所有HTTP请求均使用JITedC++处理,C++脚本在运行时编译、链接和执行,并由LLVM/Clang重构。 与其他脚本语言相比typescript头文件,这提供了更好的调试、分析和最终的运行时性能。
Facebook工程师表示,JITC++语言需要依赖预编译头文件和其他修改来适应其工作流程和相应的要求。 新的 JITC++ 脚本框架比最初使用的另一种脚本语言快 4 倍。 但同时也表示,这会在一定程度上减少初始化启动时间。