Nilson Santos Figueiredo Junior wrote:
> On 3/8/07, Jim Spath <[EMAIL PROTECTED]> wrote:
>> URI is next up at around 14% of time.  Is there anything that can be
>> done about this one?
> 
> Wherever is reasonably possible, instead of actually using calls to
> $c->uri_for() for every item, call it only once and then build the
> rest of the URI manually.
> 
> This is specially useful on those tables where each line links to a
> different item. Then, instead of something like:
> 
>  [% FOREACH item IN items %]
>    [% c.uri_for('/item', item.id) %]
>  [% END %]
> 
> Use something like:
> 
>  [% base_uri = c.uri_for('/item') %]
>  [% FOREACH item IN items %]
>    [% base_uri %]/[% item.id %]
>  [% END %]
> 
> By making this kind of changes throughout an entire Catalyst
> application I've been able to get 15-20% better performance.
> 
> -Nilson Santos F. Jr.
> 
> _______________________________________________
> List: [email protected]
> Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/[email protected]/
> Dev site: http://dev.catalyst.perl.org/
> 
> 

Even better, just don't use uri_for if you don't have to. Relative uris
are your friend. They still work. The web still functions without
uri_for. :-)

If you are working on an index page, and you have create/edit/view links
that are relative to that page, just use html:

##default
[% FOREACH item in items %]
   <a href="[% item.id %]">...</a>
[% END %]

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
List: [email protected]
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to