I have been doing open source for 4 or 5 years. From the initial Yaf to today's PHP7, I have participated in more and more projects, and more and more users are using my code. I will start it tomorrow. The release of PHP7 is definitely the most important milestone since I started working on open source. I should commemorate today and let me be a little emotional.
The PHP7 project started during the Spring Festival last year. At that time, our Opcache JIT project based on PHP-5.5 was basically shelved because we could not get the expected results. Some information collected while doing JIT made us realize that, The basic part was not good enough and could not support JIT very well, so around February 2014, we started the reconstruction project. The hope at that time was that through reconstruction, we could get more than 30% performance improvement, which would benefit the future. Provide a basis for further optimization.
We didn’t have a name for the project at that time, we were just trying it out. Those months were the busiest time for me, because we were the only two working on the project, and I was also busy with my work on Weibo. , so I basically only spent my evening time on it. But fortunately, there is a 5-hour time difference between me and another person, so a lot of work can be done in parallel.
As the project progressed, we were pleasantly surprised to find that the performance improvement was greater than we imagined. By April, another person joined in, and by May, most of the work had been basically completed, so We announced this result and named it the PHP NG project.
But what I didn’t expect was that we encountered a lot of resistance from the community, because when we were secretly developing PHP NG, the community was also working on a 64-bit support project, mainly initiated by Microsoft students. When we When PHP NG was released, they questioned that no one else understood how to maintain such a big patch suddenly, how to merge it with the 64-bit supported branch, etc., and then opposed the adoption of the PHP NG branch. At that time, I was very The frustrating, long-lasting quarrel also made me feel very tired. In the end, because I couldn't deal with it, I was so angry that I didn't care about my poor English. I responded to a complaint email in the mail group, calling on everyone to cherish this performance improvement branch.
There is also a very interesting episode. There are many supporters of PHP NG, and they are also very depressed about such quarrels. One day, some supporters posted such a news on the PHP official website: http:// php.net/archive/2014.php#id2014-05-27-1 which reads: "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.", but the opponents said that day, no, PHP NG has not been accepted yet, and asked to delete this article. Fortunately, considering that the article had already been posted, this article was finally removed from the home page. The entrance to the article only retains the content in the archive. Many media have felt this mistake.
After arguing, we had no choice but to initiate a vote to decide whether to accept PHP NG. Fortunately, in the final vote, most people supported the PHP NG project and decided to start based on PHP NG. The development of our new version of PHP. At that time, it was not decided whether to use PHP6 or PHP7 version number (later voted to decide on PHP7). I often say that this experience made me feel the "pain of democracy".
Everyone can see what happens next. In the past two years, various new features have been added, performance has been continuously improved, many improvements that were previously unreasonable, etc. have been added to PHP7, allowing PHP7 is becoming more and more full-featured. From the changes in ZVAL at the bottom to scalar type hints, from the initial 30% performance improvement to the current performance leap of more than 100%, every change is worth looking forward to. And after several After several reluctant delays, finally, today, all this will be presented to you.
Sometimes I think that I am lucky. Lucky that I always have the opportunity to do things that I have never done before and that are challenging. Lucky that I can always feel my own growth. Lucky that most of my efforts will ultimately be successful. I have seen the results and been rewarded. I also sincerely hope that my luck can inspire more people to participate in open source.
In the future, we will continue to be committed to improving the performance and quality of PHP, so that more PHPers can continue to enjoy transparent improvements.
Finally, doing open source for so long has brought me a lot of gains. I want to thank everyone for the encouragement and the kind words of praise.
PS: I originally wanted to wait until PHP7 was released, but I thought I could build momentum for its arrival, so I released it first. PHP7 is now available for download. The official announcement will take into account the time difference. Let’s check it out the day after tomorrow. Download now. Address: http://php.net/get/php-7.0.0.tar.gz/from/a/mirror enjoy!