【发布时间】:2015-03-14 23:31:37
【问题描述】:
如果我有 100 个导入,我的程序会因为 Python 在运行时查找名称(并查看我的所有 100 个导入)而导致性能更差吗?
我正在创建一个游戏,将每个区域描述为包含单个类的单独模块会容易得多。
【问题讨论】:
-
是的,它的表现会更差,重要的问题是有多差。您可能不会注意到它。
-
当所有
imports 都被加载时,性能会受到影响,但是在当前命名空间中查找名称是基于字典的,因此O(1)。 Python 不需要查看导入,因为您指定它应该查看哪个模块(例如import random; random.choice)。目前尚不清楚您的第二段与第一段有何关系。 -
只是对外说,每个模块只包含一个词。
-
哦,如果您的意思是将所有类放在一个文件中或
import从一大堆文件中一次一个地保存它们会更有效,我怀疑您会看到这么大的区别。不过,每个文件一个似乎有点多。你能找出共享一个文件的相关类组吗? -
所有默认区域都在一个文件中描述,但是,我打算让用户自己定义,如果游戏成功,那可能是一大堆区域。
标签: performance python-3.x import