什么是Pythons -OO选项适合?

时间:2014-08-01 22:33:54

标签: python

我已经看到-OO用于丢弃文档字符串:

$ man python
   -O     Turn  on  basic  optimizations.  This changes the filename extension
          for compiled (bytecode) files from .pyc to .pyo.  Given twice,
          causes docstrings to be discarded.

   -OO    Discard docstrings in addition to the -O optimizations.

为什么要放弃文档字符串?有什么好处? -OO是否为某些代码提供了速度优势? (为什么?)

1 个答案:

答案 0 :(得分:3)

除了从字节码文件到内存中读取文档字符串所花费的时间之外,没有速度优势(除非你的文档字符串非常庞大,否则只需要很小的一次性启动时间)。

但是,删除文档字符串会使字节码变小,并通过所有文档字符串的累积大小减少正在运行的程序的内存占用量。在台式计算机上,这通常不明显。据称,这为一些嵌入式(如embedded system,而不是其他软件中包含的Python解释器)使用Python节省了一小部分磁盘空间和RAM。