老覃同学做了一个测试,来比较PHP5下利用function,class来编程时的效率差异。 我一向喜欢钻牛角尖: 有两个疑问: 1.ab本身的文档说了,ab自身是需要CPU资源的,有时候要注意你可能不是在测apache的性能,而是在测ab这个软件的性能。老覃同志如何去除ab的影响? 2.php编译时也是花费CPU时间的。我做了另一组测试: //t1.php function signin() { echo “signin”; } signin(); ?> ab -n 10000 -c 50 的结果是: 1534.15 [#/sec] Time per request: 32.591 [ms] (mean) ,再另外一个: function signin() { echo “signin”; } //signin(); ?> ab -n 10000 -c 50的结果是: 1748.48 [#/sec], Time per request: 28.596 。 就是说,算上ab的花费,apache的花费,php编译的花费,这几个的时间消费可能已经比php代码运行的时间花费要大了。加上运行的代码后,只相关几个ms。 如果要进行精确的比较,老覃的做法可能很不可靠。 PHP4与PHP5.20的效率目前还只有看官方的数据。 另外有个疑问,我的php比老覃同志的似乎快了不少,相差好几倍。可能是我的是Fedora 下运行的结果。 附注: 我后来做了一个实验,ab -n 10000 -c 50 http://localhost/test/23442.php ,返回的结果是: Requests per second: 2192.03 [#/sec] (mean) Time per request: 22.810 [ms] (mean) 这是在请求的文件不存在下,apache简单返回一个静态面的情况下的。由此看来,ab和apache的开销就已经占了大约20ms. 再注,在这里 是老覃的同事做的测试.我google得到了这个结果.