PHP 7 基准

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

如果您对 php7 有所了解,您可能知道它很快。但你知道有多快吗? alpha 已经出来并且看起来非常强大,所以我决定创建一组新的基准来包含它。先上图,后免责声明:)

此图显示了每个版本的 php 执行相同任务平均所需的时间,左边是最旧的 php,并及时向前移动。

基准是 php 源代码中的 zend/bench.php (在普通笔记本电脑上使用 php7dev 虚拟机对每个 php 版本运行十次,然后计算每个版本的平均结果)。该脚本通过一系列繁重的算法运行,让您了解一系列计算指令的执行速度。所以按照这个标准,php 7 比任何 php 5 系列都快得多。查看 php 的采用率 ,许多读者很可能使用 php 5.3,这就是为什么它包含在图表中(如果您仍在使用 php 5.2,那么您需要返回到我的 5.4 基准 以在其他版本)——但是当所有 php 5 应用程序采用新平台时,性能提升将是显着的。这里的绝对数字并不意味着很多,但各个版本的相对性能应该是正确的。

真正的 PHP 应用程序呢?

真实的 php 应用程序总是会有所不同,但已经有很多可用的数据 - 迄今为止最好的数据集在 rasmus 的幻灯片中,他在其中展示了一系列开源项目并测量了它们在各种版本的 PHP 上可以处理的请求/秒PHP。您可以在这里找到它们:http: //talks.php.net/fluent15#/drupalbench (并保持向右箭头)。

基本上:它很快。如此之快,以至于任何人都可以谈论它有多快。对于一种在 php 5 分支的生命周期中已经看到如此令人印象深刻的速度改进的语言,这让我感到震惊 :)

升级有多现实?

实际的。 php 5 到 php 7 平台的升级将比 php 4 到 5 的升级更容易,许多应用程序都成功地做到了这一点。我还要说从 php 5.5 或 php 5.6 到 php 7 比从 php 5.2 到 php 5.3 更容易

升级:第一步是升级到 php 5.5 或 php 5.6。严重地。除非你先去那里,否则没有适合你的 php 7。

我现在应该怎么做?

php 7 不稳定,但它仍然绝对需要您的投入,无论您是谁或您的技能水平如何。

  • 尝试在 php 7 上运行您的应用程序及其所有测试——它是 https://github.com/php/php-src/ 的主分支。一个真正简单的入门方法是在此处使用现成的虚拟机:https: //github.com/rlerdorf/php7dev
  • 如果您发现错误,请报告它们。尝试找出它是在库中还是在 php 本身中,然后告诉我们。这就是 alpha 版本的目的,您的努力将真正改变世界 :)
  • 检查您的应用程序使用了哪些扩展,然后确保它们在此处列出 https://github.com/gophp7/gophp7-ext/wiki/extensions-catalog 。如果没有,请添加它们。如果他们还没有为 php 7 做好准备,我们有很多资源可以帮助您自己编译扩展,并帮助我们确定需要做什么以确保他们在您需要时做好准备。

php 7 看起来很棒,但如果没有我们的投入,它不会成功。是的,基准测试令人印象深刻,但如果您仍在阅读,谢谢。社区的投入是为了做简单的、非可怕的内部 C 代码事情,只是为了运行代码并验证什么有效和无效,这将在更顺利、更快的启动和灾难之间产生差异。让我们开始吧。