就之前性能测试反馈的一些补充

我说过对于FXXX 不在公开场所将其同 Zend Framework 比较的这样的话。所以我在这里做一些补充说明,一些是关于技术的,一些是关于技术人员应有的技术涵养的。

在收到性能测试的反馈之后,我特别进行了测试:

在 include(‘FXXX.php’) 之前定义:

define(‘NO_LEGACY_FXXXPHP’, true);

则 FxxxPHP 只会载入两个文件:FXXX.php (核心)和 Config/DEBUG_MODE_CONFIG.php(默认的设置文件,用于调试模式)。而不会再载入 Compatibility.php 文件。此时,开发者按照 FxxxPHP 1.0.70 的规范编写应用程序即可。而 Compatibility.php 是为了方便 FxxxPHP 1.0.60 应用程序升级而设置的。

于是,我将这个开关加到之前的测试之上。很遗憾,在50次测试中,只有两次 FXXX 比 Zend Framework 快。

据说,在 L 兄的测试中通过修改了两行多余的代码,使得 FXXX 的执行快过了 Zend Framework。我没有办法测试,因为他并没有给出这个修改方法。不过我想也有可能的,因为框架本身在 loadClass 上的工作几乎完全相同。那么通过优化是完全可以得到相同的效能。 Continue reading 就之前性能测试反馈的一些补充

关于 Zend Framework 和国产 FXXX 在类加载性能上的测试

 之前,FXXX 的主要开发者 L 兄曾经在 phpchina 上同我做过一些讨论。当然讨论的结果似乎不能令人满意。FXXX 对于我一直所诟病的数据库支持对于 L 兄来说似乎不是什么大的问题。而 Zend Framework 对于他来说似乎也是一直拥有效率黑洞,以及大而不精等诸多糟粕。Zend Framework 即将成为 PEAR2 是 L 兄一个比较精辟的形容。

项目中最初推翻 FXXX 转而使用 Zend Framework 主要是由于 Orcale 的支持问题。但是这个问题似乎是 FXXX 的软肋,不能碰,一碰就招致狂风暴雨般的质问。当然,质问的内容不是框架的数据库支持。而是触碰这个软肋的人的技术水平问题。而 Zend Framework 的性能黑洞,也让我带着意思疑虑。Zend Framework 的性能是否真的不可调和,这个框架是否真的又臃肿,又庞大?带着这个问题,我做了以下试验:

试验内容:为了检测 Zend Framework 的性能到底如何,我必须选择一个参照对象。很遗憾,优秀的 FXXX 被选中了。因为这个性能的疑虑正是 L 兄带给我的,所以………….解铃还需系铃人。

那么对两个框架所有的部分都进行测试,似乎不太可能。这绝对是超出我能力范围的。那么我选择了 Loader 作为测试的内容。两个框架都有各自的加载类的方法。而这个方法又是在所有使用框架的开发中需要使用的。

Zend_Loader::loadClass() vs FXXX::loadClass()

我首先在Doc Root  目录中创建了 Zend 和 FXXX 目录,用于存放两个框架必要的文件。既然是测试 Loader 那么只要存放必要的 Loader 文件就可以了。顺便可以测试一下两个框架的耦合度。 Continue reading 关于 Zend Framework 和国产 FXXX 在类加载性能上的测试