原文地址:http://hi.baidu.com/yzkuang/blog/item/557e4f24423d8136c9955908.html
with 6 Comments随着同 IIS 的竞争以及 Lighttpd 的崛起,关于 Apache 市场下滑的声音不绝于耳,但 Pingdom 的统计表明,Apache仍然主导全美100大网站,占据了49%的市场份额。在 Pingdom 检测的众多网站中,Web服务器的使用五花八门,出于好奇,我们决定统计一下什么Web服务器在全美100大网站中占主导地位。我们通过检查 HTTP 头获得这些信息,100大网站的依据为 Alexa.com。
with 3 CommentsZend Engine 将 PHP的执行机制划分为编译和执行无疑是革命性的举动。但现在看来,这似乎还未完全将这个思想贯彻到底。当前的Zend Engine虽然把编译和执行分成两个步骤来做,但这两个步骤对一个普通 .PHP脚本文件来说确是连续的。换句话说,当web服务器开始处理一个 php 脚本请求后,它将不得不每次都进行编译和执行两个步骤。很明显,对于一个开发完成不再进行经常性的修改的php脚本来说,这将是巨大的性能损失....
with 9 Comments当高级语言函数被编译成机器码时,有一个问题就必须解决:因为CPU没有办法知道一个函数调用需要多少个、什么样的参数。即计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者和函数本身来协调。为此,计算机提供了一种被称为栈的数据结构来支持参数传递。
函数调用时,调用者依次把参数压栈,然后调用函数,函数被调用以后,在堆栈中取得数据,并进行计算。函数计算结束以后,或者调用者、或者函数本身修改堆栈,使堆栈恢复原装。在参数传递中,有两个很重要的问题必须得到明确说明:
1) 当参数个数多于一个时,按照什么顺序把参数压入堆栈;
2) 函数调用后,由谁来把堆栈恢复原装。
3)函数的返回值放在什么地方