当前位置:  开发笔记 > 编程语言 > 正文

使用global会产生任何开销吗?

如何解决《使用global会产生任何开销吗?》经验,为你挑选了1个好方法。

如果您对最终未使用的变量使用global关键字,是否会出现问题?相比:

function foo() {
    global $fu;
    global $bah;
    if (something()) {
        $fu->doSomething();
    } else {
        $bah->doSomething();
    }
}

function bar() {
    if (something()) {
        global $fu;
        $fu->doSomething();
    } else {
        global $bah;
        $bah->doSomething();
    }
}

我非常清楚使用第二种方法会使维护此代码变得更加困难,并且通常首选将所有全局变量放在函数的开头,因此:忽略两个函数的可维护性和代码样式的差异,在开销方面,这两者有什么区别?



1> Matthew Scha..:

如果存在,它将不会(人类)可测量,除非你真的称呼这个函数数百万次.即使它是具有该属性的递归函数,我仍然不会将您的第二种方法用于您已经提出的可维护性方面.

编辑:为了论证,我实际上去了这个基准测试,bar()结果比一百万次调用慢了0.1秒.这意味着性能明智,您仍然有理由使用更清洁的版本.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有