当一个函数占用的栈空间不是很大的时候,这部分内存很有可能全部命中cache,CPU访问的效率是很高的。
相反,如果一个函数同时使用全局变量和局部变量,当这两段地址相差较大时,cpu cache需要来回切换,效率会下降。
建立一个对象属性(类里面的变量,例如:$this-prop++)比局部变量要慢3倍。
这种差异是PHP特有的,并不适用于其他语言,所以请不要修改你的C或Java代码,并指望它们能立即变快,没用的。
有时候为了使 PHP 代码更加整洁,一些 PHP 新手(包括我)会把预定义好的变量,复制到一个名字更简短的变量中。
试想一下,在下面的例子中,如果用户恶意插入512KB字节的文字,就会导致 1MB 的内存被消耗!
当需要没有初始化的变量,PHP解释器会自动创建一个变量,但依靠这个特性来编程并不是一个好主意。
如果不带引号,例如$a[name],那么PHP会首先检查有没有define定义的name常量。
Apache/Nginx解析一个PHP脚本的时间,要比解析一个静态HTML页面慢2至10倍。
本文由 790游戏(www.790.kim)整理发布
网友评论 ()条 查看