Today I Learned - Rocky Kev

TIL of a PHP performance fix for for-loops

POSTED ON:

TAGS:

This small detail is a performance issue.

<?php

$array = [1, 2, 3, 4, 5, 6, 7, 8, 9];

for ($i = 0; $i < count($array); $i++;) {

}

Notice something?

It's running the count() function every single loop.

For something this small, it's not a issue.

But if you're looping through a large array, it becomes a problem.

A simple fix is:

<?php

$array = [1, 2, 3, 4, 5, 6, 7, 8, 9];

for ($i = 0, $count = count($array); $i < $count; $i++) {

}

In this version, you run the count() function, and pass it over to the $count variable. One call!

via Amir Etemad - Some Tips For PHP developers


Related TILs

Tagged:

TIL how NGINX knows to look for index.html vs index.php

What happens when visitor hits /foo/bar URL?

TIL php-fpm

PHP runs as a separated service when using PHP-FPM. By using this PHP version as language interpreter, requests are processed through a TCP/IP socket; so that the Nginx web server only handles the HTTP requests and PHP-FPM interprets the PHP code. The fact of having two separate services is key for increasing efficiency.

TIL the difference between single-threaded & multi-threaded architecture

For web dev, we don't need it. We're not bottle-necked by the processing power. We're instead bottlenecked by the ability to read files/databases. We can simulate multi-threading (and improve our app's performance) using async/await.