The --opt-O 翻译选项

此元选项选择在翻译过程中使用的默认优化设置集。用法

bin/rpython --opt=#
bin/rpython -O#

其中 # 是所需的优化级别。有效选择是

级别 描述
–opt=0 所有优化关闭;最快的翻译 (*)
–opt=1 (*) 进行非时间消耗优化
–opt=size 最小化最终可执行文件的大小 (*)
–opt=mem 最小化运行时 RAM 消耗(正在进行中)
–opt=2 所有优化开启;良好的运行时性能
–opt=3 –opt=2 相同;删除断言;gcc 剖析 (**)
–opt=jit 包括 JIT 并针对其调整其他优化

(*): 级别 0, 1size 使用 Boehm-Demers-Weiser 垃圾收集器(Debian 包 libgc-dev)。翻译本身更快,消耗的内存更少;最终的可执行文件更小,但速度更慢。其他级别使用我们内置的 自定义垃圾收集器 之一。

(**): 级别 3 在翻译 PyPy 时启用 gcc 剖析驱动的重新编译。

每个级别启用的确切优化集取决于后端。各个翻译目标也可以根据级别选择自己的选项:在翻译 PyPy 时,级别 mem 启用对象空间中节省内存的对象实现;级别 23 启用提供性能提升的先进对象实现;级别 3 还启用 gcc 剖析驱动的重新编译。

默认级别为 2