https://github.com/python/cpython

Profile Guided Optimization

PGO takes advantage of recent versions of the GCC or Clang compilers. If used, either via configure --enable-optimizations or by manually running make profile-opt regardless of configure flags, the optimized build process will perform the following steps:

The entire Python directory is cleaned of temporary files that may have resulted from a previous compilation.

An instrumented version of the interpreter is built, using suitable compiler flags for each flavour. Note that this is just an intermediary step. The binary resulting from this step is not good for real life workloads as it has profiling instructions embedded inside.

After the instrumented interpreter is built, the Makefile will run a training workload. This is necessary in order to profile the interpreter execution. Note also that any output, both stdout and stderr, that may appear at this step is suppressed.

The final step is to build the actual interpreter, using the information collected from the instrumented one. The end result will be a Python binary that is optimized; suitable for distribution or production installation.

Link Time Optimization

Enabled via configure's --with-lto flag. LTO takes advantage of the ability of recent compiler toolchains to optimize across the otherwise arbitrary .o file boundary when building final executables or shared libraries for additional performance gains.

最新文章

  1. RPC学习--C#使用Thrift简介,C#客户端和Java服务端相互交互
  2. Crontab中shell每分钟执行一次HDFS文件上传不执行的解决方案
  3. 在Service Fabric上部署Java应用,体验一把微服务的自动切换
  4. iOS使用keychain存储密码
  5. 关于Eclipse生成和导入Patch文件.
  6. C++ STL@ list 应用 (leetcode: Rotate Array)
  7. 让人爱不释手的13套精美 Web 应用程序图标素材(转)
  8. C++线性序列容器<vector>简单总结
  9. 在Windows的CMD中如何设置支持UTF8编码
  10. hdu3483之二项式展开+矩阵快速幂
  11. Win7下不能查看xp系统共享的文件,解决方法
  12. js中位运算的运用
  13. 快速排序Java版
  14. centos mail使用外部SMTP发送邮件
  15. vue全家桶(Vue+Vue-router+Vuex+axios)(Vue+webpack项目实战系列之二)
  16. ReactJS基础(续)
  17. Python 中的重点来了 : 迭代器 生成器
  18. HBase丢失数据的故障和原因分析
  19. 浅谈SQL Server数据内部表现形式
  20. CentOS7.X首次安装docker无法启动的问题解决

热门文章

  1. 微服务 - 服务消费(七)Feign
  2. java中定时器设置时间
  3. 处理xls文件
  4. 在IDEA中的cannot_resolve_method解决方法
  5. CSDN中的MARKDOWN编辑器如何快速复制粘贴图片?
  6. JavaScript 函数节流和函数去抖
  7. Redis+LUA整合使用
  8. spark常用提交任务的基本的参数配置
  9. 单细胞分析实录(8): 展示marker基因的4种图形(一)
  10. Java 中的 equals() 和 hashCode()