“一百万行 Python 代码对任何人都足够了”!( 三 )


。 ” 他还指出 , 基于堆栈框架对象 , 代码对象和对象本身的数据结构可以通过这种打包的形式而受益 。 “还有一种潜在的更有效的指令格式 , 可以加快解释器的分派速度 。 ” 他提议将限制用于以下Python程序的七个不同方面:

模块中的源代码行数

代码对象中字节码指令的数量

代码对象的局部变量和堆栈使用量的总和

代码对象中不同名称的数量

代码对象中的常量数

正在运行的解释器中的类别数

正在运行的解释器中的实时协同程序数

他还解决了“这不又是类似于‘640K对任何人来说应该已经足够了’?”的问题 , 这是一个当提出任意限制时 , 人们会立即想到的问题 。 他指出 , Java虚拟机(JVM)将许多程序元素限制为65535(适合16位);这可能会产生限制 , 但主要是针对程序生成器 , 而不是手工编写的代码 。 他对Python提出的限制远不止于此 , 他认为这不会成为人为生成代码的真正障碍 。 他说到 , “虽然生成的代码可能会超出限制 , 但代码生成器很容易修改其输出以符合标准 。 ”

推荐阅读