GLITZPINNACLE

Subtitle

News

TIPS TO OPTIMIZE THE PHP CODE

Posted by s.pree.preethi on September 19, 2012 at 2:55 AM

• If a method can be static, declare it static. Speed improvement is by a factor of 4.

• echo is faster than print.(* compare with list from phplens by John Lim)

• Use echo’s multiple parameters instead of string concatenation.

• Set the maxvalue for your for-loops before and not in the loop.

• Unset your variables to free memory, especially large arrays.

• Avoid magic like __get, __set, __autoload

• require_once() is expensive

• Use full paths in includes and requires, less time spent on resolving the OS paths.

• If you need to find out the time when the script started executing, $_SERVER[’REQUEST_TIME’] is preferred to time()

• See if you can use strncasecmp, strpbrk and stripos instead of regex

• str_replace is faster than preg_replace, but strtr is faster than str_replace by a factor of 4

• If the function, such as string replacement function, accepts both arrays and single characters as arguments, and if your argument list is not too long, consider writing a few redundant replacement statements, passing one character at a time, instead of one line of code that accepts arrays as search and replace arguments.

• It’s better to use select statements than multi if, else if, statements.

• Error suppression with @ is very slow.

• Turn on apache’s mod_deflate

• Close your database connections when you’re done with them

• $row[’id’] is 7 times faster than $row[id]

• Error messages are expensive

• Do not use functions inside of for loop, such as for ($x=0; $x < count($array); $x) The count() function gets called each time.

• Incrementing a local variable in a method is the fastest. Nearly the same as calling a local variable in a function.

• Incrementing a global variable is 2 times slow than a local var.

• Incrementing an object property (eg. $this->prop++) is 3 times slower than a local variable.

Categories: None

Post a Comment

Oops!

Oops, you forgot something.

Oops!

The words you entered did not match the given text. Please try again.

Already a member? Sign In

0 Comments