Python中文
首页
教程
问答
标签
搜索
登录
注册
基准测试python脚本揭示了神秘的时间延迟
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有两个模块:moduleParent和moduleChild</p> <p>我在moduleParent中做了这样的事情:</p> <pre><code>import moduleChild #a bunch of code start = time.time() moduleChild.childFunction() finish = time.time() print "calling child function takes:", finish-start, "total seconds" #a bunch of code </code></pre> <p>我在moduleChild中做了这样的事情:</p> ^{pr2}$ <p>输出如下:</p> <pre><code>calling child function takes: .24 total seconds child function says it takes: 0.0 total seconds </code></pre> <p>所以我的问题是,这些。额外的24秒从哪里来?在</p> <p>谢谢你的专业知识。在</p> # <p>这是“儿童游戏”的实际代码。真的不需要。24秒。在</p> <pre><code> def getResources(show, resourceName='', resourceType=''): ''' get a list of resources with the given name @show: show name @resourceName: name of resource @resourceType: type of resource @return: list of resource dictionaries ''' t1 = time.time() cmd = r'C:\tester.exe -cmdFile "C:\%s\info.txt" -user root -pwd root'%show cmd += " -cmd findResources -machineFormatted " if resourceName: cmd += '-name %s'%resourceName if resourceType: cmd += '_' + resourceType.replace(".", "_") + "_" proc=subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output = proc.stdout.read() output = output.strip() resourceData = output.split("\r\n") resourceData = resourceData[1:] resourceList = [] for data in resourceData: resourceId, resourceName, resourceType = data.split("|") rTyp = "_" + resourceType.replace(".", "_") + "_" shot, assetName = resourceName.split(rTyp) resourceName = assetName path = '//projects/%s/scenes/%s/%s/%s'%(show, shot, resourceType.replace(".", "/"), assetName) resourceDict = {'id':resourceId, 'name':resourceName, 'type':resourceType, 'path':path } resourceList.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(resourceDict) t2 = time.time() print (" ", t2 - t2, "seconds") return resourceList </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>编辑2:我刚刚注意到子函数中有一个错误,print语句中有t2-t2</p> <p>忽略以下内容:</p> <p>调用函数本身有开销(设置堆栈空间、保存局部变量、返回等)。结果表明,您的函数非常简单,设置函数调用比运行代码本身花费的时间要长。</strike></p> <p>编辑:另外,调用计时器以及印刷广告的开销。现在我想起来了,打电话给print可以解释很多。24秒。IO速度慢。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
在python3中使用Scipy pearsonr函数
5 回答
在Python3中使用scipy对多个lorentzian进行数据拟合
5 回答
在Python3中使用Script=argv
6 回答
在python3中使用selenium webdriver进行未解析的回溯
5 回答
在python3中使用selenium和phantomjs的网页截图之前如何等待?
4 回答
在Python3中使用Selenium和Requests模块从网页获取文件
6 回答
在python3中使用SIGINT终止函数
10 回答
在Python3中使用SIGTERM时,允许进程完成而不是中断
1 回答
在python3中使用smtplib发送XML内容
5 回答
在python3中使用socket库(RFCOMM模式)重新连接蓝牙设备?
1 回答
在python3中使用sounddevice和numpy编写wav文件
2 回答
在python3中使用Sqlalchemy插入MySQL查找类型错误的原因
5 回答
在python3中使用sqlite、pandas和sqlalchemy很难让rollback工作
10 回答
在python3中使用SQLite的FTS3/4
10 回答
在Python3中使用struct.calcsize()和len()有区别吗?
5 回答
在python3中使用substring函数时发生TypeError
2 回答
在Python3中使用Tkinter entry小部件写入串行设备
2 回答
在python3中使用tkinter时,如何在每次按下函数时获得运行该函数的按钮?
2 回答
在python3中使用tkinter的子帧
4 回答
在Python3中使用tryexcept块时,如何避免使用未初始化的变量?
10 回答