我正在检查代码并根据一般指导更新导入语句,将“从xxx import *”更改为“from xxx import m,n,p”。但是,脚本执行时间的差异是显而易见的:
From collections import OrderedDict
From definitions import *
平均脚本时间22毫秒
From collections import OrderedDict
From definitions import a, b, c, d, e, f
平均脚本时间48毫秒
导入性能的主题在SE上被多次采用,这些结果似乎与某些答案背道而驰。为什么在这种情况下import语句会导致脚本性能出现如此显着的差异?
后续问题:此包使用“definitions.py”来存储包通用(主要是静态)类和函数。从模块导入所有类的最佳方法是什么,而不需要使用“定义”作为前缀。每次使用它们?
编辑更多信息...... Curiouser和Curiouser
使用time.clock()超过> 50次迭代
完成脚本计时事实证明OrderedDict已经在定义中导入了,所以当我从那里导入它时,脚本时间就会缩短:
From definitions import a, b, c, d, e, f, OrderedDict
平均脚本时间22毫秒
为了加粗情节,还有一个“来自系统导入数组”的声明,尽管这对脚本时间没有影响。脚本导入OrderedDict的方式似乎是个问题。