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 %]
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/
