快速业务通道

在WebSphere sMash中集成Java和PHP - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
rdquo;和“int”的五个匹配项。Lucene 提供了强大的查询语法,能够支持各种搜索术语。关于可能的搜索查询的更多信息,请访问 Apache Lucene 站点。

性能比较

如果仔细分析一下我们添加到 index.php 的源代码,则您会看到对 microtime 的一些调用和一些注释,其中表明我们希望检查性能。

我们执行的检查是简单计时检查。我们非常有兴趣比较一下使用三个不同的软件创建索引的时间:

● 通过 WebSphere sMash Java Bridge 调用的 Lucene 的 Java 实现。

● 从 Java 应用程序调用的 Java Lucene.

● Zend Framework 中的 Lucene 的 PHP 实现。

为了进行公平的比较,我们使用了 Lucene Version 2.2.0,即 Zend 实现所基于的版本。我们还使用了 Lucene SimpleAnalyser.有关 Zend 实现的详细讨论超出了本文的范围。不过,它是 Lucene 代码的可靠端口,会生成与 Java 版本生成的格式完全相同的格式。

性能比较所执行的是对 PHP 5.3 源树下的所有 PHP 测试脚本(*.phpt 文件)进行索引。创建和优化索引所花费的时间如表 2 中所示。

表 2. Lucene 搜索的性能比较

技术 时间(秒)
WebSpere sMash Java Bridge 9
Java Lucene 8
Zend Search Lucene 200

在WebSphere sMash中集成Java和PHP(14)

时间:2011-07-06 IBM Anthony Phillips,Zoe

这可以让我们简要了解使用这些现成技术的时间比较情况。所有这些计时都打开了 Java JIT,这在 Lucene 之类的应用程序中的执行时间方面会产生巨大的差异。

这些原因都不能作为不使用 Zend 实现的原因。事实上,如果不使用 Java,而您主要的开发语言是 PHP,则使用同样是 PHP 编写的搜索引擎会带来很多优势。方便地理解和修改代码之类的考虑事项可能会比唯一的性能优势更为重要。

更有意思的是使用 PHP 及 Java Bridge 与使用 Java 应用程序间的比较。二者时间接近的事实表明,我们不会在 Java Bridge 中或在 Java VM 上运行 PHP 浪费太多时间。

当然,还有其他通过 PHP 使用 Java Bridge 的实现。例如,Zend Platform 中有一个商业实现,而 sourceforge.net 提供了一个开源实现。虽然我们没有使用这些实现,但它们的存在为将 Java 用于最适用的场合(算法性能)并同时充分利用 PHP 的易用性提供了支持。

如果您重复进行这些实验,可能会发现创建索引的过程中存在着细微的差别。Zend 实现的较为有用的功能之一是,能够创建与 Java 实现格式完全相同的索引,而这就意味着可以使用标准 Java 工具对其进行检查(例如,可以从 Luke 站点下载的 Luke)。这些差异都相对比较容易解释,不会影响耗时比较的结果。例如,PHP 和 Java 分析工具之间就存在细微差别。

结束语

在本文中,您进行了以下工作:

● 使用 PHP 和 WebSphere sMash 创建应用程序。

● 使用 Java Bridge 创建和调用 Java 对象。

● 探索从 PHP 脚本使用 Java 集合的方法。

● 了解 Java Bridge 如何进行类型强制转换和异常处理。

● 开发基于 Java Lucene 库的搜索引擎。

● 了解 Java Lucene 库的性能。

完成本文的学习后,您可以将 Java 库和 PHP 脚本用于更广泛的用途。为什么不在 WebSphere sMash 中将更多的 Java 库与 PHP 结合使用?通过Project Zero 论坛让我们了解您的情况。如果您希望了解关于 Zero Global Context 和其他相关主题的更多信息,请参见下面参考资料部分列出的 WebSphere sMash Developer''s Guide.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号