Ok problem solved.

For every class that the autoloading system is not able to found, the 
symfony sfAutoload::autoloadAgain() method flushes the autoload cache 
and recreates it by parsing the project directory structure (in debug 
mode only) before trying to look for the class again. This allows 
developpers to create new classes in a project without having to clear 
the cache. But it takes time and the bug was that the reloading occurred 
for every class that were not found. Most of the time, it's not a 
problem, because a class not found is a fatal error. But Doctrine tries 
to load some classes with different naming patterns, and if a pattern 
does not work, it tries another one. So, a class not found is not a 
fatal error.

So, I fixed the autoloadAgain() behavior in symfony 
(http://trac.symfony-project.com/changeset/8702) and Doctrine now tries 
to load the most sensible class first 
(http://trac.phpdoctrine.org/changeset/4316).

Fabien

--
Fabien Potencier
Sensio CEO - symfony lead developer
sensiolabs.com | symfony-project.com | aide-de-camp.org
Tél: +33 1 40 99 80 80


Jonathan Wage wrote:
> Fabien,
> 
> I am not able to produce the extreme slowness in a stripped down test 
> case. I have come to the conclusion that it is not one thing that causes 
> the slowness, but a sum of things. In my web application if I slowly 
> strip out pieces of functionality which query for Doctrine objects, the 
> speed increases. As soon as I do not have any doctrine objects present, 
> the execution is as expected.
> 
> The best I can offer is the source of the whole doctrine website so you 
> can see this.
> 
> http://lamp5.centresource.com/jwage/testcase.zip
> 
> In the root you will find a doctrine.sql file that will populate the 
> database. You will have to configure config/database.yml too.
> 
> You can see the slowness by simply just executing the frontend_dev.php
> 
> - Jon
> 
> On Wed, Apr 30, 2008 at 8:58 AM, Jonathan Wage <[EMAIL PROTECTED] 
> <mailto:[EMAIL PROTECTED]>> wrote:
> 
>     It's not. I will create a stripped down test case/sandbox and send
>     it your way fabien. Expect it soon.
> 
>     - Jon
> 
> 
>     On Wed, Apr 30, 2008 at 6:24 AM, Ian P. Christian
>     <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:
> 
> 
>         Fabien POTENCIER wrote:
>          > Ian, Jon,
>          >
>          > Can you send me a sandbox with just the needed code to be able to
>          > reproduce this behavior as I don't seem to be able to
>         reproduce it on my
>          > projects.
>          >
> 
>         Jon/Fabien - if this is on my server, I'm obviously more then
>         happy to
>         give Fabien SSH access should that make things easier, just give
>         me a
>         poke :)
> 
> 
> 
> 
> 
>     -- 
>     Jonathan Wage
>     http://www.jwage.com
>     http://www.centresource.com 
> 
> 
> 
> 
> -- 
> Jonathan Wage
> http://www.jwage.com
> http://www.centresource.com
> > 


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/symfony-devs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to