PHP是网络开发中最流行的脚本语言之一。PHP的最新版本PHP 7在性能上得到了极大的优化。然而,PHP还有一个竞争对手HHVM (Hip Hop Virtual Machine),一个运行PHP代码的虚拟工具。他们之间的直接对比正在升温,我们来看看他们的直接性能对比。
什么是HHVM?
2008年,脸书启动了一个项目,计划开发一个工具,将PHP脚本转换成C语言,可以在网络服务器上编译和运行。目的是节省服务器资源,这是一个非常重要的目标,因为脸书用户的数量正在快速增长。从这个意义上说,这个项目是成功的,因为它可以使服务器处理的请求是以前的五到六倍。
早在2010年,脸书的服务器需求已经增加了很多,所以是时候考虑新的创新来提高效率了。基于这一需求,脸书开发了HHVM。HHVM使用即时编译将PHP代码转换成某种字节码。接下来,字节码被转换成机器代码,并被优化以使其尽可能快地运行。
PHP 7是什么?
PHP 7是PHP社区对HHVM的回应。PHP 7发布的预览版宣称将PHP 5的性能提升了100%。
你可能会问,PHP的版本直接从PHP5跳到了PHP7。答案如下:PHP6的开发始于2005年,但进度太慢,出现了很多问题,导致PHP6在正式发布前口碑不佳。所以PHP社区决定直接给新版本的语言命名为PHP7。
真正的问题不是PHP5和PHP7的比较,因为PHP7提供更快的运行速度已经很明显了。但是我们要比较的是PHP7和HHVM。很多专家都用这两种方法来处理PHP代码,并透露了一些有趣的结论。
比较PHP7和HHVM的异同:
在回答哪个更好之前,让我们看看它们之间的主要区别和相似之处。
代码解析:
PHP7和HHVM之间的基本区别在于它们解析PHP代码的方式。PHP7使用的是标准的PHP解析器,这是一个大家都可以使用的免费软件,可以直接在服务器上解析运行。它生成HTML代码,然后发送给客户端,客户端显示用户期望的内容。
相比之下,HHVM首先将PHP代码转换为HipHop字节代码,然后将其转换为机器代码并执行。在这个过程中,HHVM会对代码进行优化,优化一些影响执行效率的PHP代码,目标是提高运行速度。
编写代码:
PHP解析器和HHVM都可以接收并运行PHP代码。编写代码的过程完全相同。但是,如果您想使用HHVM,您需要在您的服务器上安装HHVM,并通过命令行中的HHVM命令调用它。
性能测试:
HHVM可以提供比以前的PHP版本更快的性能。然而,最近的性能测试表明,PHP7至少在某些情况下比HHVM稍快。让我们来看看金莎做的性能测试结果:
WordPress:在WordPress4.1.1中运行的PHP7每秒可以执行的请求数量是PHP5.6的两倍多,但是没有HHVM3.6.1多,在测试中,HHVM每秒执行了624个请求,而PHP7每秒只执行了604个请求。
Drupal: PHP 7可以为Drupal用户提供比HHVM更明显的优势。PHP7对Drupal8的响应效率比HHVM高37个百分点以上。
哪些公司使用HHVM?
除了开发HHVM的FaceBook,许多其他公司也采用了这种方案,利用HHVM在服务器上运行PHP应用程序,包括维基媒体(Wikimedia)和电子商务网站Etsy。
维基媒体:维基媒体有很多教育内容,包括著名的在线百科全书维基百科。维基百科每月吸引近5亿互联网用户。为了满足这样的高级需求,有必要优化服务器的性能。与PHP相比,HHVM有一个显著的优势,可以同时加载多个SPU内核。但是,PHP是单线程语言,不能并行化。维基百科部署HHVM后,CPU负载从50%下降到10%,用户提交编辑的平均响应时间下降到原来的一半,页面平均加载时间从1.3秒下降到0.9秒。
在Etsy:拥有5400万用户的Tesy,也急需提升服务器性能。Etsy的工程师比较了HHVM和PHP5.4的性能,发现HHVM每秒可以处理280个服务器请求。对于PHP5.4,如果每秒请求数超过190,服务器的响应时间将大幅增加。
PHP 7和HHVM的前景如何?
由于PHP 7的稳定版本将于2015年11月发布,目前还没有公司使用这种新语言。由于PHP 7的测试版在基准测试中表现良好,未来会吸引更多的公司使用PHP 7。
PHP前途光明,但是HHVM呢?它可能会继续活得很好。许多公司在他们的网站上使用HHVM来提高性能,PHP和HHVM之间的迁移不是一蹴而就的。Etsy至少花了六个月。由于PHP7与HHVM相比几乎没有性能提升,这些公司不太可能急于转向PHP。
脸书将继续发展HHVM。它最近宣布支持苹果的操作系统,这样在苹果开发环境中工作的开发者就可以使用这项技术。HHVM的开发者认为HHVM在很多情况下都比PHP7快,包括WorldPress。
为什么HHVM和PHP 7与网店店主有竞争关系?
作为网店店主,你需要根据你网店的平台来决定是用PHP7还是HHVM。如果你的网站是用WorldPress创建的,你可以看看最新版本的HHVM和PHP 7的基准测试结果。从测试结果中,您可以找到它们之间的性能差异,然后您可以选择一种解决方案来最小化页面加载时间、服务器响应时间和CPU利用率。
HHVM被选中的原因。
HHVM使用动态翻译技术,在大多数情况下(包括WordPress)可以提供更高的性能。
当HHVM处理大量请求时,它可以保证每个请求只使用少量内存。
HHVM的开发者正在稳步增加这个引擎可以运行的PHP代码的数量。它已经可以运行最新版本的WorldPress和其他常见的PHP框架和应用程序。
HHVM是开源的。虽然HHVM是由脸书开发的,但它是开源的,这意味着任何人都可以使用和修改它的源代码。
为什么选择PHP 7。
PHP 7在某些情况下比HHVM更快,包括运行Drupal 8。
设置HHVM不需要使用PHP 7。
虽然新版本不再支持PHP 4的很多功能,但是用PHP 5编写的代码在转换为PHP 7后,会像预期的那样工作。
PHP 7是由PHP社区开发的,这是一群长期以开发稳定可靠的PHP版本而闻名的人。
通过hhvmvs.php7:进行选择。
不要犹豫太久,金莎建议在线网站应该尽力在PHP 7和HHVM之间做出选择,并尽早开始实施解决方案,以优化您网站的性能。一个低效的网站也会损害你的声誉,这将很难恢复。