Feature #46615
closedSpeed improvements in ClassLoader
0%
Description
The ClassLoader has different speed problems as he loads and manages big arrays of backward compatibility aliases for classes (for example intersecting arrays with around 2400 and 5000 entries).
So to improve this, we can move this code out to a ClassLoader only for backward compatibility which will do class alias loading if needed. This helps to reduce the loading time if only "modern" code is used.
Speedtest on the start page of the introduction package:
Testsystem: PHP 5.4.13, MariaDB 5.5.29
Testcommand: ab -c 10 -n 100 http://localhorst.typo61/
Before:
Time taken for tests: 19.813 seconds
Total transferred: 23000 bytes
HTML transferred: 0 bytes
Requests per second: 5.05 [#/sec] (mean)
Time per request: 1981.282 [ms] (mean)
Time per request: 198.128 [ms] (mean, across all concurrent requests)
Transfer rate: 1.13 [Kbytes/sec] received
After:
Time taken for tests: 12.570 seconds
Total transferred: 1035500 bytes
HTML transferred: 990700 bytes
Requests per second: 7.96 [#/sec] (mean)
Time per request: 1256.969 [ms] (mean)
Time per request: 125.697 [ms] (mean, across all concurrent requests)
Transfer rate: 80.45 [Kbytes/sec] received