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