Home >Backend Development >PHP Tutorial >Does the PHP__autoload() method really affect performance?_PHP Tutorial
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:
Startup interface:
eAccelerator (in php.ini file) configuration:
File structure: (Each Test file is a file with more than 6,000 lines of code)
Test: Test with eAccelerator cache
Test code: loaded through __autoload
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.