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 [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-users?hl=en.