Hello Georg,

thanx for your help, it was actually the creation of the user objects
that took 90% oft the time, with your solution the execution time of
the request went down to <5 seconds (2,5 seconds for the list
rendering) whats imho ok for the rendering of a list containing 5000
resultrows.

what's my learning: never use doctrine based object fetching for large
resultsets?

is there a way to enforce Doctrine_Core::HYDRATE_SCALAR eg for m:n
relations
eg:
user <-> user2workshop <-> workshop (... foreignAlias: workshops)

$user->getWorkshops(array(), Doctrine_Core::HYDRATE_SCALAR)
???

anyway thanks for your help!

kind regards
Axel





On 28 Jan., 14:08, Georg Gell <geor...@have2.com> wrote:
> Axel,
>
> is it possible that the creation of the user objects takes such a long
> time? I don't know what your user objects do, or how many are in this
> list, but just for displaying the names of the users, I wouldn't
> create objects, but hydrate with Doctrine_Core::HYDRATE_SCALAR.
> Try if this works more quickly:
>
> set up this method in your Event object:
>
> class Event extends BaseEvent{
> ...
> public function getUserListAsArray()
> {
>   return Doctrine::getTable('Users')->createQuery()->where('event_id =
> ?', $this->id)->execute(array(), Doctrine_Core::HYDRATE_SCALAR);
>
> }
>
> and in the template:
>
> <?php foreach ($event->getUserListAsArray() as $user){
> echo <<<EOT
>        <tr>
>           <td>{$user['firstname']} {$user['lastname']}</td>
>         </tr>
> EOT;
>
> } ?>
>
> Does this solve your speed problem?
>
> Georg
>
> Am 27.01.2010 19:58, schrieb axel at:
>
> > hello list,
>
> > symfony seems to be extrem slow - compared to "native" php
> > a request with the following code takes ~26 seconds (count($event-
> >> getUserList()) == 5000)
>
> > <?php foreach ($event->getUserList() as $user):  ?>
> >        <tr>
> >           <td><?php echo $user->getFirstname(). " ". $user->getLastname
> > (); ?></td>
> >         </tr>
> >  <?php endforeach; ?>
>
> > type       calls   time (ms)       time (%)
> > Configuration      13      1932.20 7
> > Factories  1       361.77  1
> > Database (Doctrine)        8       0.06    0
> > Action "event/listAction"        1       19.53   0
> > View "Success" for "event/listAction"  1       25653.20        93
> > Partial "event/_assets"  1       1.41    0
> > Partial "event/_flashes" 1       5.31    0
> > Component "address/menuItems"    1       68.60   0
> > Partial "address/_menuItems"     1       3.23    0
> > Component "address/loginState"   1       0.06    0
> > Partial "address/_loginState"    1       2.06    0
>
> > the doctrine database query is ok
> > I don't think that the templating is the problem, (I tried to do the
> > output with echo $user->... from within the action what took as long
> > as if I used the template engine. for me it seems to be a doctrine
> > problem (foreach...?)
>
> > is there a way to improove this poor results?

-- 
You received this message because you are subscribed to the Google Groups 
"symfony users" group.
To post to this group, send email to symfony-us...@googlegroups.com.
To unsubscribe from this group, send email to 
symfony-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/symfony-users?hl=en.

Reply via email to