Yielding Higher-performance PHP


Comments are closed.

Matt H. at 18:14 on 26 May 2016

He clearly put a good amount of time into setting up multiple working examples, enabling him to show live demos and live benchmarks. I appreciated seeing more working examples of the use of yield / generators as I slowly wrap my head around what those do and how to use them. As with any live demo, there were some minor bumps along the road, most of which he was able to fix quickly and keep moving. The last demo didn't cooperate, but he handled it gracefully and offered to stay around to get it working if anyone wanted to see it, but ending the session essentially on-time in order to avoid keeping others past the scheduled end time.

In truth, I didn't fully appreciate the topic at hand until we were quite a ways in, when things began to click. Not an intro topic, for sure, but the presentation was well considered and thought out. And I'm glad I attended. Thanks.

Ian is clearly a very sharp coder. This talk was complex and very thoroughly prepared, but I felt the performance message got lost amongst all the setting up and underlying technicalities. I think it would have been better if it had started out with some performance stats across the different approaches and then looked at how they were achieved and what trade-offs were involved. This might also have reduced the impact of the failure of the last demo, which I'm assuming was going to get the best results of all the appoaches, so was something of a disappointment. I still learned a lot though!

This is a pretty complicated topic and Ian did a pretty good job walking through what he was doing to demonstrate improvements. I think all the setup/tear down he had to do to switch between demos distracted me a bit and I got lost a couple times. Perhaps some overall benchmark data initially would have helped me to get an overview of what we were going to see and if the roughness of the transitions can be smoothed out it would help too. Specifically maybe not having to check out different branches, rerun composer, and then launch Docker would help. If each were in their own folders with composer already run and Docker already online it would be quick to switch to another tab and show the results.

This was an excellent talk that goes over a complicated subject. The material presented was well explained.

The only gotcha was the demos. It would have been a bit smoother had each of the demos been running and he just had to show them off, but switching between them took a bit of time and was a bit of a distraction.