Home >Backend Development >PHP Tutorial >Does the PHP__autoload() method really affect performance?_PHP Tutorial

Does the PHP__autoload() method really affect performance?_PHP Tutorial

WBOY
WBOYOriginal
2016-07-13 17:49:51686browse

Introduction

Regarding PHP performance issues, the most discussed one is the __autoload() method. Many people mentioned that this method greatly affects performance. Some people also said that opcode can also affect the __autoload() method, so I did a test on these two points.

Finally, it was found that the __autoload method does not have a great impact on performance. Some netizens say that without __autoload(), the maintenance cost will be countless times higher than the performance cost (I agree).

Environment

PHP:5.3.9 ——Start in fastcgi mode
Nginx:1.1.12
eaccelerator:0.9.6.1

Screenshot:

Does the PHP__autoload() method really affect performance?_PHP Tutorial
Startup interface:
Does the PHP__autoload() method really affect performance?_PHP Tutorial
eAccelerator (in php.ini file) configuration:
Does the PHP__autoload() method really affect performance?_PHP Tutorial
File structure: (Each Test file is a file with more than 6,000 lines of code)
Does the PHP__autoload() method really affect performance?_PHP Tutorial


Test: Test with eAccelerator cache

Test code: loaded through __autoload

Does the PHP__autoload() method really affect performance?_PHP Tutorial

                              Picture 1
The results I got by refreshing in the browser are as follows:
Total Time:0.10401391983032
Total Time:0.10252094268799
Total Time:0.095267057418823
Total Time:0.10013008117676
Total Time:0.096842050552368
Total Time:0.097998142242432
Total Time:0.10348510742188
Total Time:0.096648931503296

Test: without __autoload()



Figure 2

Test results - by swiping the browser
Total Time:0.10309100151062
Total Time:0.10285210609436
Total Time:0.10154414176941
Total Time:0.097845792770386
Total Time:0.099545001983643
Total Time:0.10166597366333

The final result seen: there is no obvious performance degradation in the autoload method

Test: Cancel eAccelerator cache for testing

Test results in Figure 1
Total Time:0.24992394447327
Total Time:0.25681900978088
Total Time:0.25327301025391
Total Time:0.22580695152283
Total Time:0.22656512260437
Total Time:0.22530484199524
Total Time:0.23080611228943

Test results in Figure 2
Total Time:0.23054909706116
Total Time:0.22633790969849
Total Time:0.23442888259888
Total Time:0.2350070476532
Total Time:0.22897601127625
Total Time:0.23207712173462
The __autoload() method still has no obvious impact on performance.

Summary

Through the above two sets of experiments, it is concluded:
1>__autoload method has no obvious performance loss. So don't hesitate to use the __autoload method.
2>opcode has a relatively large impact on the code. It is obvious that when opcode is used, the execution speed of the PHP code is increased by nearly 2 times.


Excerpted from Chuanshan Jia

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/478308.htmlTechArticleIntroduction to PHP performance issues, the most discussed is the __autoload() method, many people mentioned that this method is very influential performance. Some people say that opcode can also affect the __autoload() method, so...
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