Regarding to PHP performance, the most frequently discussed is the __autoload() function. Many people say that this function will affect the performance very much, some other people say that opcode will affect __autoload() as well. So we will have some tests on these two.
Environment
PHP 5.3.9 -- Launch under fastcgi mode
Nginx 1.1.12
eAccelerator 0.9.6.1
Screenshots
Launch page
eAccelerator(In php.ini) configuration
File structure(each Test file has over 6000 lines of code)
Testing
With eAccelerator cache and with __autoload() function loaded
The result after refreshing the web browser
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
With eAccelerator cache and without __autoload() function loaded
With eAccelerator cache and without __autoload() function loaded
The result after refreshing the web 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 : __autoload() function does not affect the performance too much.
Without eAccelerator cache and with __autoload() function loaded
The final result : __autoload() function does not affect the performance too much.
Without eAccelerator cache and with __autoload() function loaded
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.23080611228943Without eAccelerator cache and without __autoload() function loaded
Total Time:0.23054909706116
Total Time:0.22633790969849
Total Time:0.23442888259888
Total Time:0.2350070476532
Total Time:0.22897601127625
Total Time:0.23207712173462
__autoload() still doesn't affect the performance very much.
Conclusion
1. __autoload() function doesn't affect performance too much, so it's ok to use __autoload() function
2. opcode will have big impact on code, with opcode,the execution speed of PHP will increase by twice.
Note : some people say that we should not use __autoload() since the maintain cost of it is much higher than the performance cost. I am agree with this statement.
Original author : å·å±±ç”² Source : http://www.cnblogs.com/baochuan/archive/2012/03/29/2423018.html