寫在PHP7髮佈之際一些話

2015-12-03 09:03:00
鳥哥
轉貼
6147
摘要: 寫在PHP7髮佈之際一些話

做開源也有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!


謝謝

發錶評論
評論通過審核後顯示。
文章分類
聯繫我們