Performance Python3导入性能

Performance Python3导入性能,performance,python-3.x,import,Performance,Python 3.x,Import,如果我有100个导入,我的程序会因为Python在运行时查找名称(并查看我所有的100个导入)而执行得更差吗 我正在创建一个游戏,将每个区域描述为包含单个类的单独模块要容易得多。在第一次加载模块时,会有一个初始性能影响。第二次、第三次、第四次……加载模块时,Python会从缓存中获取模块,因此根本不会影响性能 话虽如此,性能应该是次要的——不过,作为一个游戏,所有的导入都要提前完成。是的,它的性能会更差,重要的问题是差多少。很可能您不会注意到它。当加载所有的导入时,性能会受到影响,但在当前名称空

如果我有100个导入,我的程序会因为Python在运行时查找名称(并查看我所有的100个导入)而执行得更差吗


我正在创建一个游戏,将每个区域描述为包含单个类的单独模块要容易得多。

在第一次加载模块时,会有一个初始性能影响。第二次、第三次、第四次……加载模块时,Python会从缓存中获取模块,因此根本不会影响性能


话虽如此,性能应该是次要的——不过,作为一个游戏,所有的导入都要提前完成。

是的,它的性能会更差,重要的问题是差多少。很可能您不会注意到它。当加载所有的
导入
时,性能会受到影响,但在当前名称空间中查找名称是基于字典的,因此
O(1)
。Python不需要查看导入,因为您可以指定它应该查看哪个模块(例如,
import random;random.choice
)。还不清楚你的第二段与第一段的关系。只是说,从外部来看,每个模块只包含一个单词。哦,如果你的意思是将所有类放在一个文件中或从一大堆文件中一次导入它们会更有效,我怀疑你会看到这么大的差异。不过,每个文件一个似乎有点多;你能确定共享一个文件的相关类组吗?所有默认区域都在一个文件中描述,但是,我计划让用户定义自己的区域,如果游戏碰巧成功,那可能是一堆区域。