Home >Backend Development >PHP Tutorial >How to improve php running speed

How to improve php running speed

小云云
小云云Original
2018-03-21 10:08:193537browse

This article mainly shares with you how to improve the running speed of PHP. There are more than fifty methods in total. I hope it can help everyone.

1, If you can define the class method as static, try to define it as static , its speed will increase nearly 4 times. The speed of
2, $row['id'] is $row[id] 's 7 times.
3, echo is faster than print , and uses ## Multiple parameters of #echo
(Annotation: refers to using commas instead of periods )Replace string concatenation, such as echo$str1,$str2.
4. Determine the maximum number of loops before executing the for loop. It is best not to calculate the maximum value every loop. Use
foreach instead.
5. Unregister unused variables, especially large arrays, to free up memory.
6, try to avoid using __get, __set, __autoload.
7, require_once() is expensive. Try to use absolute paths when
8, include files, because it avoids PHP The speed of searching for files in include_path will take less time to parse the operating system path.

9, If you want to know when the script starts executing(Annotation: The server receives the client request ) time, using
$_SERVER['REQUEST_TIME'] is better than time() .
10, function replaces regular expression to complete the same function.
11, str_replace function is faster than preg_replace function, but# The ##strtr function is four times more efficient than the str_replace function.

12
If a string replacement function accepts arrays or characters as parameters, and the parameter length is not too long, then you can consider writing an additional replacement section Code so that each parameter passed is one character, instead of just writing one line of code Accept arrays as parameters for query and replacement.


13
, use the selective branch statement(Annotation: switch case) is better than using multiple if, else if statements.
14
, using @ to block error messages is very inefficient, extremely inefficient. 15, open the #mod_deflate module of apache , you can improve web browsing speed.
16. The database connection should be closed when finished using it. Do not use long connections.
17, error messages are expensive.
18. Increasing local variables in the method is the fastest. Almost as fast as calling local variables in a function.
19. Increasing a global variable is 2 times slower than incrementing a local variable.
20, increment an object property(such as: $this->prop++)It is 3 times slower than incrementing a local variable.
21, Increasing an undefined local variable is slower than incrementing a predefined local variable9 to10 times.
22
, only defining a local variable without calling it in the function will also slow down the speed(To the extent Equivalent to incrementing one local variable
)
. PHP Probably checks to see if there are global variables.
23
, method calls appear to have nothing to do with the number of methods defined in the class, because I (before testing the method After that, )added and
10
methods were added, but there was no change in performance.
24
, Methods in derived classes run faster than the same methods defined in base classes.
25
. Calling an empty function with one parameter takes the same time as executing 7 to 8 local variable increment operations . The time spent on similar method calls is close to
15
local variable increment operations.
26
, Apache takes longer to parse a PHP script than Parsing a static HTML page is slow by 2 to 10 times. Use as many static
HTML
pages as possible and less scripts.
27
Unless the script can be cached, it will be recompiled every time it is called. Introducing a set of PHP caching mechanism can usually be upgraded from
25%
to 100% performance to avoid compilation overhead.
28
, try to cache, you can use memcached. memcached is a high-performance memory object caching system, can be used to accelerate dynamic
Web
applications and reduce database load . Caching of opcodes (OP code) is useful so that the script does not have to be recompiled for each request.

29
, When operating a string and need to check whether its length meets certain requirements, you will naturally use strlen()function. This function executes quite quickly because it does not do any calculations and just returns the built-in number in the zval structure(C
Data structure, used to store the known string length stored in
PHP variable). However, since strlen() is a function,
will be somewhat slow because the function call will go through many steps, such as lowercase letters
( Translation Note: Refers to the function name being lowercase
,
PHP does not distinguish between uppercase and lowercase function names), Hash lookup will be performed together with the called function. In some cases, you can use
isset() techniques to speed up the execution of your code. Calling isset() happens to be faster than strlen(), because is different from the latter,
isset()As a language construct, it means that its execution does not require function lookup and lower case . That is, you actually don't spend much overhead in the top-level code checking the string length.

34, When executing the increment or decrement of variable $i , $i++ will be slower than ++$i . This difference is PHP specific and does not apply to other languages, so please do not modify your
C or Java code and expect them to be fast immediately, no use.
++$i Faster because it only requires 3 instructions(opcodes) , $i++ requires 4 instructions. Postfix increment actually creates a temporary variable that is subsequently incremented. The prefix increment
increments directly on the original value. This is a form of optimization, just as
Zend 's PHP optimizer does. It's a good idea to keep this optimization
# in mind, because not all instruction optimizers will do the same optimization, and there are a lot of instructions that are not optimized. Internet Service Providers (ISPs) and servers.
35, It does not necessarily mean that everything is object-oriented
(OOP)
, object-oriented is often very expensive, each method and Object calls will consume a lot of memory. 36. It is not necessary to use classes to implement all data structures. Arrays are also very useful.

37
, don’t subdivide the methods too much, think carefully about which codes you really plan to reuse?
38
, When you need, you can always break the code into methods. 39
, try to use a large number of
PHP
built-in functions. 40. If there are a large number of time-consuming functions in the code, you can consider using C
extensions to implement them. . 41, evaluate and check(profile)
your code. The checker will tell you which parts of the code take how much time. Xdebug The debugger includes a verification program, and the evaluation verification can show the bottlenecks of the code as a whole. 42, mod_zip can be used as a Apache module to instantly compress your data, and can reduce data transmission volume by
80%.
43, you can use file_get_contents instead of file, fopen, feof, fgets and other series of methods, try
Use
file_get_contents because it is much more efficient!But be carefulfile_get_contents
PHP version issue when opening a URL file;
44
, try to do as few file operations as possible, although the file operation efficiency of PHP is not low;
45
, optimize Select SQL statement, perform as few Insert, as possible Update Operation;
46
, use PHP internal functions## as much as possible #(But in order to find a function that does not exist in PHP , I wasted time that could have been spent writing a custom function. Experience The problem
!);47
. Don’t declare variables inside the loop, especially large variables: objects(This doesn’t seem to work Just something to pay attention to in PHP
?);48
, try not to embed loops in multi-dimensional arrays Set assignment;49
, do not use regular expressions when you can use PHP internal string manipulation functions ;50
, foreach is more efficient, try to use foreach Replace while and for loop;51
, use single quotes Replace the double quote string ;52
, " with i+=1 instead of i=i+1 conforms to the habits of c/c++ and is more efficient ”;53
. For global variables, they should be unset() after use.

Related recommendations:

Sharing some tips to improve php running speed

How to improve php running speed Speed

Methods to improve php running speed

The above is the detailed content of How to improve php running speed. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn