News Feed
Sections




News Archive
feed this:

Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

BitExpert Blog:
Processing CSV files in a memory efficient way
April 23, 2015 @ 10:50:59

In their latest post Florian Horn shares some of his experience in using the PHPExcel tool to parse CSV files and the performance issues he ran into. Fortunately, he found a solution...in the form of another library.

A little while ago I had to dive deeper into the performance optimized usage of PHPExcel. Our users are uploading files like Excel or CSV with a lot data to process. Initially we used the PHPEXcel instance without any tuning of the default configuration which lead to heavy memory issues on relativly small files. So I had to avoid reading all file content at ones to the buffer (like file_get_contents does).

In my research mainly optimizing the usage of PHPExcel I came across a tiny library I am grown really fond of. It is called Goodby/CSV. Both tools have a very well grounded documentation to read in and understand the basics and the usage.

He describes some of the main differences between the two tools and includes some basic benchmark results comparing memory consumption and overall speed.

0 comments voice your opinion now!
phpexcel csv file goodbycsv process performance memory benchmark

Link: https://blog.bitexpert.de/blog/processing-csv-files-in-a-memory-efficient-way/

TechEmpower.com:
Web Framework Benchmarks - Round 10
April 22, 2015 @ 11:06:58

The TechEmpower.com site has posted round 10 of their PHP framework benchmarks that includes several test types and hardware configurations.

Round 10 of the Framework Benchmarks project is now available! It has been a little less than a year since the previous round and in that time, approximately 133 contributors have made 2,835 git commits. View Round 10 resultsThese contributions have improved the project's toolset and added many new framework test implementations.

Frameworks tested include Phalcon, Slim, Yii2, Fuel, Symfony2, Laravel and CodeIgniter. They've run tests on:

  • JSON serialization
  • Single queries (requests)
  • Multiple queries (requests)
  • Fortunes
  • Data updates
  • Plaintext output

If you click on each item in the tab list above the results, you'll also get a description of what each test entails. They also provide the results in multiple formats, not just in graphical form that include both latency and framework overhead. You can also read more commentary about the results in this related blog post.

0 comments voice your opinion now!
framework benchmark round10 performance blog

Link: https://www.techempower.com/benchmarks/#section=data-r10

Community News:
Run Geek Radio Launched & Episode 1 (Podcast)
April 21, 2015 @ 10:48:36

Adam Culp, well-known PHP community member and organizer of both the Sunshine PHP conference and ZendCon, has started up a new podcast that's targeted at blending the two things he enjoys most - geeky "stuff" and running.

My plans behind the podcast is to bring together two things I love to do…programming, and running. It only makes sense that I would want to share in both areas, and a podcast is a great way to do that. With the resurgence of podcasts lately I felt a little bit of peer pressure to attempt my own, and so far I have received wonderful reviews from PHP developers who also run, or runners who are also programmers.

You can find out more about the show over on rungeekradio.com or just tune in to the first episode and see what you think. This first show deals with conferences, user group talks and performance audit tools. If you enjoy the show, be sure to subscribe to the feed to get more episodes as they're released.

0 comments voice your opinion now!
rungeekradio ep1 podcast running technology conference usergroup performance audit tool

Link: https://rungeekradio.com/episode001/

Etsy Code as Craft Blog:
Experimenting with HHVM at Etsy
April 08, 2015 @ 08:49:20

On the Etsy "Code as Craft" blog they've posted an article about their experiences in experimenting with HHVM at Etsy and some of the differences it makes.

In 2014 Etsy's infrastructure group took on a big challenge: scale Etsy's API traffic capacity 20X. We launched many efforts simultaneously to meet the challenge, including a migration to HHVM after it showed a promising increase in throughput. Getting our code to run on HHVM was relatively easy, but we encountered many surprises as we gained confidence in the new architecture.

They start with a brief overview of what HHVM is for those that aren't sure and talk about where their focus was in these experiments. They list out some of the main reasons for trying out HHVM and the role of concurrency in their current application. They started with the "minimum viable product" and compared benchmarks between PHP 5.4 and HHVM on several endpoints. They also show how they "teed" incoming requests to both servers to ensure that the responses were the same across both. They also talk about using employee-only traffic and the overall statistics for when they released the HHVM version internally. They also talk about some of the undocumented features to keep an eye out for if you're thinking of switching: "warming up" the requests to align them in JIT memory, using perf(1) for profiling and the use of the HHVM interactive debugger (hphpd).

0 comments voice your opinion now!
hhvm etsy experiment performance throughput statistics hiphop vm

Link: https://codeascraft.com/2015/04/06/experimenting-with-hhvm-at-etsy/

Reddit.com:
Frameworks, how are requests per second important?
April 03, 2015 @ 10:37:50

In this recent post to the /r/php subreddit on Reddit.com, AfterNite wonders why it's important to measure the "requests per second" that a framework handles (or if it is at all).

I have been using Laravel 4 for a while now. Recently I saw a benchmark here (http://blog.a-way-out.net/blog/2015/03/27/php-framework-benchmark/). There are many frameworks that were compared and compared to phalcon the requests per second seem crappy. Hearing that zend is powerful and primarily aimed at businesses how is it that a few hundred requests per second is good? I can't wrap my head around why people are using frameworks such as Zend, Laravel 5 and Symfony.

The comments on the post mention things like:

  • taking benchmarks "with a grain of salt"
  • How it relates to optimization
  • Wondering what the mean requests-per-second would be
  • What effect a datasource has on performance
  • The relation between performance and ease of use

You can read the full post or leave an opinion of your own on the full post.

0 comments voice your opinion now!
requestspersecond performance optimization framework opinion reddit

Link: http://www.reddit.com/r/PHP/comments/313nc8/frameworks_how_are_requests_per_second_important/

Zend:
5 Things You Must Know about PHP 7
March 27, 2015 @ 11:07:39

There's been a lot of talk in the community about PHP 7 and what features will be included but there's been a *lot* of it. To help distill it down a bit Zend has posted this infographic of the Top 5 features that will be coming in this next major version.

Their top five list includes both the main points and a quick summary for:

  • When it comes out (hint: this year)
  • The spaceship operator
  • Return type declarations and scalar type hints
  • Performance improvements

...and #5, even more performance improvements. There's also some links to other information about some of the topics to provide even more detail for those wanting to dive in.

0 comments voice your opinion now!
php7 infographic top5 list release spaceship returntype scalartypehint performance

Link: https://pages.zend.com/TY-Infographic.html

Derick Rethans:
Xdebug 2.3 Improvements to Debugging
March 25, 2015 @ 09:13:34

In the latest in his series covering some of the improvements in the latest Xdebug release, Derick Rethans has posted this new article detailing some of the performance enhancements related to remote debugging that come with this new version.

This is the fourth article in a series about new features in Xdebug 2.3, which was first released on February 22nd. In this article we are looking at the improvements towards "remote" debugging.

The updates include showing the values of user-defined constants, being able to set an exception breakpoint on all exceptions and additional features around debugging the exceptions themselves. The output now includes the exception's error code and which exception the flow was broken on (though in his example of PHPStorm, the IDE won't report that information back). The last change he mentions is a change that reverts the output to a log if it can't write to a socket (usually SELinux related).

0 comments voice your opinion now!
xdebug performance improvement remote debugging version release

Link: http://derickrethans.nl/xdebug-2.3-debugging-improvements.html

stfalcon.com:
Increasing project productivity in Symfony2 from Doctrine2 ORM
March 16, 2015 @ 13:55:36

In this tutorial to the stfalcon.com site Sasha Lensky talks about some things you can do to help boost the performance of your Symfony2 application with a few tweaks in how Doctrine is used.

I have been trying to write this article for a long time, but just couldn't get around. Finally, I pulled myself together and did it. So, what will we discus ... I will share some techniques about working with Doctrine2 ORM, which will help to improve the site performance on Symfony2 (precisely any site that uses Doctrine2 ORM). I have created a project and put it on GitHub as a visual guide, so anyone can test my words in action now.

He shares five tips and includes code examples and results (based on the Profiler toolbar) for each:

  • Downloading all necessary connections
  • Updating multiple entities by request
  • Hydration waiver
  • Using Reference Proxies
  • Using Symfony Profiler Toolbar

That final tip about the Profiler toolbar is actually one used in the rest of the examples too, showing how to get that other information from the tool.

0 comments voice your opinion now!
doctrine2 symfony2 orm performance tips profiler toolbar

Link: http://stfalcon.com/en/blog/post/performance-symfony2-doctrine2-orm

Laravel News:
Homestead Now With Blackfire Support
February 27, 2015 @ 10:05:47

As is mentioned in this new post to the Laravel News site, the Homestead development environment now comes with support for the Blackfire.io profiler.

Blackfire Profiler by SensioLabs automatically gathers data about your code's execution, such as RAM, CPU time, and disk I/O. Homestead makes it a breeze to use this profiler for your own applications. All of the proper packages have already been installed on your Homestead box, you simply need to set a Blackfire ID and token in your Homestead.yaml file

With the configuration set up, the only installation the user needs to make is setting up the companion extension (Chrome) for your browser.

0 comments voice your opinion now!
blackfire support laravel homestead development environment performance

Link: https://laravel-news.com/2015/02/homestead-now-with-blackfire-support/

Julien Pauli:
On PHP function calls
January 22, 2015 @ 09:58:39

Julien Pauli has a new post today sharing an interesting function optimization he found using the Blackfire execution profiler.

This blog post is a technical explanation of a PHP optimization found with BlackFire profiler into a PHP script. The related post is located here : http://blog.blackfire.io/owncloud.html

He found that a replacement of a call to strlen with an isset optimized the script by about 20%. It's not typical though, he explains. He points out that the optimization worked so well because the call was part of a loop. He gets into some of the "under the covers" details of why this speed boost happens and even includes the op code output showing the difference. He then starts getting deep into the internal code for PHP and walks through each step made in the evaluation of a string's length. He finishes the post looking at isset (not technically a function) and how it handles its data checking. He also includes information about opcode caching and how to best maximize its impact.

0 comments voice your opinion now!
function call strlen loop isset internals opcode cache performance

Link: http://jpauli.github.io/2015/01/22/on-php-function-calls.html


Community Events

Don't see your event here?
Let us know!


php7 release framework podcast api example extension opinion version community interview library conference laravel symfony2 voicesoftheelephpant install performance introduction series

All content copyright, 2015 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework