日期:2014-05-17  浏览次数:20485 次

一个ZendOptimizer的困惑,让人不解?
关于ZendOptimizer的困惑,让人不解?

今天在php环境中做了一个小测试,但测试结果相当让人不解.
所用版本:Apache2.2 + php-5.2.5-Win32

页面执行的测试代码如下:
命名为:test.php
<?php 
class runtime
{
  var $StartTime = 0;
  var $StopTime = 0;
  function get_microtime(){
  list($usec, $sec) = explode(' ', microtime());
  return ((float)$usec + (float)$sec);
  }
  function start(){
  $this->StartTime = $this->get_microtime();
  }
  function stop(){
  $this->StopTime = $this->get_microtime();
  }
  function spent(){
  return round(($this->StopTime - $this->StartTime) * 1000, 1);
  }
}
$runtime= new runtime;
$runtime->start();
$a = 0;
for($i=0; $i<10000000; $i++){
  $a += $i;
}
$runtime->stop();
echo "页面执行时间: ".$runtime->spent()." 毫秒";
?>
-----------------------------
测试一:在php.ini中不加载ZendOptimizer.dll时
在执行test.php时,10次统计时间如下:
2197.2
2253.6 
2253.6
2293
2200.7
2170.9
2343.3
2148.4
2123.4
2157.3
-----------------------------
测试二:在php.ini中加载ZendOptimizer.dll时
加载方法如下:
[Zend]
zend_extension_ts="D:\web\php-5.2.5-Win32\ext\ZendOptimizer.dll"
zend_optimizer.optimization_level=15

经过phpinfo();的测试如下了以信息:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
  with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
说明ZendOptimizer.dll加载成功

在执行test.php时,3次统计时间如下:
2420.6
2414.9
2408.7 
-----------------------------------------------
按理在php中加载了ZendOptimizer.dll后,会使php的执行效率会提高40%-100%,
怎么我的加载之后不但没有使效率提高反面下降了呢?

请各位帮忙分析一下,错在那里.

------解决方案--------------------
探讨
拿ab跑一下试试

ab不明白是什么东西?

------解决方案--------------------
探讨
拿ab跑一下试试

ab不明白是什么东西?

------解决方案--------------------
有没有用Zend 把php 源码转成二进制阿?如果没转,用不用 zendoptimizer 都一样