擅长:python、mysql、java
<p>这里有几个部分起作用:</p>
<p>1)定义函数的时间(创建函数对象),<br/>
2) 按名称查找函数对象的时间,<br/>
3) 实际调用函数的时间。在</p>
<p>全局函数示例使用<em>1)</em>(不需要在每次调用<code>b1</code>时重新定义<code>a</code>)。但是,使用in<em>2)</em>时的速度较慢,因为全局变量查找比局部查找慢。在</p>
<p>为什么我们不能两者兼得?在</p>
<p>我的<a href="http://ideone.com/SHMETg" rel="noreferrer">extended your benchmark</a>解决方案使用全局函数,但避免使用局部变量进行全局查找。它似乎是我机器上三种速度中最快的一种:</p>
<pre><code> 5 6 7
b1: 0.04147 0.44421 4.46508
b2: 0.03399 0.43321 4.41121
b3: 0.03258 0.41821 4.25542
b1: 0.03240 0.42998 4.39774
b2: 0.03320 0.43465 4.42229
b3: 0.03155 0.42109 4.23669
b1: 0.03273 0.43321 4.37266
b2: 0.03326 0.43551 4.42208
b3: 0.03137 0.42356 4.25341
b1: 0.03253 0.43104 4.40466
b2: 0.03401 0.43719 4.42996
b3: 0.03155 0.41681 4.24132
b1: 0.03244 0.42965 4.37192
b2: 0.03310 0.43629 4.42727
b3: 0.03117 0.41701 4.23932
</code></pre>