Mantis - Quercus
Viewing Issue Advanced Details
2915 major always 09-09-08 08:33 09-10-08 12:07
koreth  
ferg  
normal  
closed 3.2.1  
fixed  
none    
none 3.2.1  
0002915: Loading class definitions is slow
Attached is a file with 100 classes. After compiling and reloading enough times to make sure everything is JITed, ab reports the following for 100 non-concurrent executions:

Requests per second: 5.15 [#/sec] (mean)
Time per request: 194.333 [ms] (mean)
Time per request: 194.333 [ms] (mean, across all concurrent requests)

But when I load the same file with the regular PHP interpreter (note, this is a locally hacked interpreter that supports lazy loading of classes and functions) it's far, far faster:

Requests per second: 1164.09 [#/sec] (mean)
Time per request: 0.859 [ms] (mean)
Time per request: 0.859 [ms] (mean, across all concurrent requests)

Quercus is actually faster than our lazy-loading interpreter at loading *functions*, but as soon as it hits a few classes, its lead evaporates.
 test.php [^] (73,408 bytes) 09-09-08 08:33

There are no notes attached to this issue.