DEV Community

Cover image for 4 PHP Tricks to Boost Script Performance

4 PHP Tricks to Boost Script Performance

Andreas on April 14, 2020

Normally I write code by using the conventional, obvious PHP functions to solve corresponding problems. But for some of these problems I came acros...
Collapse
 
diek profile image
diek •

I readed somewhere that double quotes are more than double fast, it really surprised me.

Collapse
 
devmount profile image
Andreas • • Edited

Double quotes appear to be slower than single quotes because PHP parses their content for variables, e.g.: "a house with $n windows", but on the other hand, single quotes are parsed as well, e.g. 'a \'quoted\' string'

Collapse
 
diek profile image
diek •

I'm looking for the source, that's why it surprised me, it has no sense.

Collapse
 
devmount profile image
Andreas • • Edited

I can confirm that the single vs. double quotes myth is really just a myth. At least for the PHP 7.2+ (maybe this originates from very early PHP versions). I did a quick benchmark:

You can say with caution, that in average, double quotes are slightly (and I really mean very slightly!) faster than single quotes. We're talking about a max of 2ms on 5 million iterations... Obviously only, if no variable is replaced.

Collapse
 
stojakovic99 profile image
Nikola Stojaković •

Well, it's not that surprising, considering double quotes have to process the content.

Collapse
 
diek profile image
diek •

Re read, you will see the surprise!

Collapse
 
backendtea profile image
Gert de Pagter •

For what its worth, ctype_ functions are locale aware, and may produce slightly different results based on the locale. While preg_match is not locale aware.

Collapse
 
devmount profile image
Andreas •

Thank you for this addition! I couldn't find something in the docs about the locales, do you have an example?

Collapse
 
backendtea profile image
Gert de Pagter •

It is mentioned in the introduction on ctype php.net/manual/en/intro.ctype.php

Thread Thread
 
devmount profile image
Andreas •

Ah thanks 😊

Collapse
 
vinyvicente profile image
Vinicius • • Edited

And about the simple or double quotes? What your opinion about the performance of both?

Collapse
 
devmount profile image
Andreas •

Do you mean quotes? If you're interested, I could add a ' vs " test...

Collapse
 
vinyvicente profile image
Vinicius •

Yes, quotes, my bad. Did you make some implementation of it?

Thread Thread
 
devmount profile image
Andreas •

Not yet, but I will create a test with the current PHP version and will come back when I have results 👍🏻

Thread Thread
 
devmount profile image
Andreas •

In the meantime, see this:

Thread Thread
 
devmount profile image
Andreas •

I did a quick benchmark, see this comment:

I can confirm that the single vs. double quotes myth is really just a myth. At least for the PHP 7.2+ (maybe this originates from ver early PHP versions). I did a quick benchmark:

You can say with caution, that in average, double quotes are slightly (and I really mean very slightly!) faster than single quotes. We're talking about a max of 2ms on 5 million iterations... Obviously only, if no variable is replaced.

Collapse
 
wapcrazut profile image
Williams Abraham •

Nice tricks! I personally never tried the 2nd approach for getting random items from an array, although it's quite obvious haha. Thanks.

Collapse
 
devmount profile image
Andreas •

😂 well, everything's fine than I guess! How'd you do it?

Collapse
 
hesamrad profile image
Hesam Rad •

Helpful article, thank you very much =)

Collapse
 
devmount profile image
Andreas •

You're welcome, I'm glad it's useful for you 😊