鸟哥:写在 PHP 7 发布之际一些话

做开源也有4, 5年的时间了, 从最初的Yaf, 到今天的PHP7, 我参与的项目越来越多, 使用我代码的用户也越来越多, 明天就要发布的PHP7, 绝对是我从事开源以来的一个最重要里程碑, 我应该纪念一下今天, 就让我稍微感性一次吧.

PHP7 项目开始于去年春节的时候, 那个时候我们基于PHP-5.5的Opcache JIT项目基本上因为无法得到期望的结果而搁置了, 一些在做JIT的时候收集到的信息让我们认识到, 基础部分还不够好, 并不能很好的支持JIT, 所以在2014年2月左右吧, 我们开始了重构项目, 当时的希望是说通过重构, 能得到30%以上的性提升, 为将来的进一步优化提供基础.

那时还没有给这个项目起名字, 我们只是试试, 那几个月是我最忙碌的时刻, 因为只有我们俩个人在这个项目中, 我还因为自身微博的工作也比较忙, 所以基本上只晚上的时间都扑在了上面. 不过好在, 我和另外一个人有5个小时的时差, 所以很多工作可以串行起来.

随着项目的推进, 我们惊喜的发现性能提升比我们想象的还要大, 到4月的时候另外一个人也加入了进来, 到5月基本上已经完成了大部分的工作, 于是我们公布了这一个成果, 定名为PHP NG项目.

但 我没想到的是, 我们遇到了社区很大的阻力, 因为在我们秘密开发PHP NG的时候, 社区还并行着一个主要是微软的同学们发起的64位支持的项目, 当我们公开PHP NG的时候, 他们质疑说, 突然拿着这么大的一个Patch出来, 没有其他人懂, 后续如何维护, 如何和64位支持的分支合并等, 继而反对采纳PHP NG分支. 当时我是非常沮丧的, 持续好久的争吵也让我感到非常疲倦, 最后因为我实在无法排遣, 一腔怒火的也不管自己蹩脚的英文, 在邮件组回了一封吐槽邮件, 呼吁大家珍惜这个性能提升分支.

还有个很好玩的插曲, PHP NG的支持者很多, 他们也对这样的争吵很郁闷, 某天, 有一些支持者就在PHP官网上发布了这样的一个新闻: http://php.net/archive/2014.php#id2014-05-27-1 其中写到: "When we aren't looking for pictures of kittens on the internet, internals developers are nearly always looking for ways to improve PHP, a few developers have a focus on performance.", 但当天反对者们就说, 不行, PHP NG还没有被接纳, 要求删除这篇文章, 好在考虑到文章已经发出去了, 最后就在首页上下掉了这个文章的入口, 只是在存档中保留了内容. 很多媒体都感受到了这次的乌龙.

争执不下之后, 不得已, 我们只能发起投票, 来决定是否接纳PHP NG, 好在, 最后投票的时候, 绝大部分人都支持了PHP NG项目, 并决定以PHP NG为基础, 开始我们的新版的PHP的开发. 当时还没有确定用PHP6还是PHP7版本号(后来投票决定PHP7). 我现在经常会说这次经历, 让我感受到了"民主之痛".

之后的 事情大家就都能看到了, 在这近两年的时间里, 各种新特性的加入, 性能的持续提升, 很多以前不合理的地方改进等等, 都加入到了PHP7, 让PHP7越来越丰满. 从最底层的ZVAL的改变, 到标量类型提示, 从最初的30%的性能提升, 到现在超过100%的性能飞跃, 每一处变化都让人值得期待. 然后经过几次不情愿的跳票, 终于, 到今天, 这一切都将呈现于你面前.

有的时候我会想, 我是幸运的, 幸运在一直有机会做没做过并且有挑战的事情, 幸运在一直能感受到自己的成长, 幸运在所做的大部分努力, 终究看到了效果, 得到了回报. 也衷心的希望我的幸运可以激励更多的人参与到开源中来.

未来, 我们还会一如既往的致力于提升PHP的性能, 提升PHP的品质, 让更多的PHPer们, 可以持续享受到透明的提升.

最后, 做开源这么久, 带给了我很多的收获, 我要谢谢大家, 谢谢这些鼓励, 也谢谢那些善意的谬赞.

PS: 本来想等到PHP7发布以后再发的, 但是想到可以为它的到来造势, 就先发布罢. PHP7 目前已经可以下载, 官方宣布考虑到时差问题, 后天早上来看吧. 目前下载地址: http://php.net/get/php-7.0.0.tar.gz/from/a/mirror enjoy!

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2015-12-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏知晓程序

周末聚会一定用得上!有了这款小程序,人少也能痛快狼人杀

狼人杀,一场欺骗、谎言、怀疑、背叛、诱导言论与思考的艺术......在这场智力、逻辑与口才的博弈之中,体制外的法官就是上帝。他洞悉一切、掌控全局,为玩家们尽心营...

732
来自专栏猫哥学前班

VS Code,完美的编辑器

今日凌晨,微软的文本(代码)编辑器 Visual Studio Code(简称 VS Code),发布了首个正式版,距离首个 beta 版上线时间刚好一年。 ...

34717
来自专栏施炯的IoT开发专栏

第三届Windows Mobile Dev Day纪实

冬至的北京寒风刺骨,但是仍然无法阻挡Windows Mobile开发爱好者的满腔热情。下午1点半,来到霄云路的现代汽车大厦,参加今年的Windows Mobil...

1959
来自专栏Hadoop实操

【云+社区自媒体分享计划-活动分享】冲上云霄

看到这张图,大家应该能看出来什么。受限于微信文章PC查看的各种不友好,主要的一点就是图片不清晰了,很多网友都问过是否有网页版的文章。这回如您所愿,咱们推出了网页...

70015
来自专栏非著名程序员

GitHub:没想到我竟然这么万能!!!

? 最近一个买房经验分享在 GitHub 上火了,不到四天的时间迅速成为了 GitHub 上的第一网红,一举跃居到了周榜的榜首位置,不到四天的时间,star ...

3426
来自专栏猿湿Xoong

你的微信,到底「连接」多少人?

1046
来自专栏程序员互动联盟

为什么用手机学不好编程?

最近看到很多人在用手机编写代码,不是说手机写不了代码,而是用手机写代码在调试方面缺陷很多,查阅资料也有很多不便利的地方。 为啥不提倡用手机写代码? ? 1.长期...

28012
来自专栏YouMeek

一个 Java 程序员眼中的 Mac OS(系列一:总纲领)

系列教程总结 我喜欢纲领性的文章,不喜欢一篇里面太长。 在 6 大篇里面会是类似提纲一样的东西,里面布满标题和链接,跳转到我新开通的简书小号中,简书里面有对应标...

40813
来自专栏PHP技术

程序员常去的14个顶级开发社区

译文链接:http://www.codeceo.com/article/14-communities-programmer-go.html 英文原文:14 Pr...

3469
来自专栏Hongten

不使用 Ruby 的十个理由

请注意:这是一篇主观意识的文章。它的目的并不是要说服你使用或者不使用Ruby,或者其他任何技术。这篇文章所涉及到的环境是 Web 开发,而不是通用的编程。我想...

391

扫描关注云+社区