作为国内领先的云处理方案企业,腾讯云在改革云端手艺的同时,也肩负着包管互联网平安次序、抵御黑产黑客的义务和任务。2018 QCon 北京“人工智能与深度进修实践”专场,腾讯云专家级研究员王国印分享了腾讯云在互联网平安防御上的系列处理方案和办法。本文拾掇了次要王国印教员的次要演讲内容。
“机能阐发指导优化(Profile Guided Optimization,缩写PGO)”是一项原生编译手艺,可用于生成高度优化的代码。它通过一个两步编译过程实现优化用第一步记实相关施行消息,然后第二步用那些消息建立一个改良过的二进制文件。据来自微软的Daniel Podder和Bertrand Le Roy引见,从汗青上看,该过程的益处是改良了二进制代码在镜像中的位置,发生了更好的行为和援用集局部性。
在Core中实现PGO的一个主要缘由是,用户不需要采纳任何特殊的办法就能够从PGO受益,由于它是使用到.NET Core运转时和JIT编译器的。因而,它会针对特定的使用法式按照其利用环境进行得当的改良,而托管使用法式会主动受益。
clrjit.dll上(在Linux上是libcoreclr.so和libclrjit.so),所以那是团队设法怀抱并改良机能的处所。按照微软的基准测试,在Windows平台(x64 & x86)上的改良很是显著,机能提拔在14%到23%之间。另一方面,在Linux x64上的机能提拔在2%到5%之间。这一点很主要,这让我们晓得启用PGO并没有导致在Linux上的机能退化,同时,这也表白未来仍然有很大的改良空间。按照微软旧事讲话人的说法,Windows和Linux被视为环节的摆设方针,因而,它们会起首引入PGO手艺。对于其他的平台,如macOS,他们未来会按照用户反馈进行考虑。