url_for is very very slow
authorDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 25 May 2010 17:21:31 +0000 (19:21 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 25 May 2010 17:21:31 +0000 (19:21 +0200)
how slow, you might ask? So slow, that it takes 3 seconds to generate
600 of them!

templates/data/items.html.ep

index cc76769..8183908 100644 (file)
@@ -51,12 +51,14 @@ items
 <%= include 'data/items/' . session('show') %>
 
 <div class=pager>
+% my $url = url_for( action => 'items' )->query( offset => 0 );
+% $url =~ s{=0}{=}; # FIXME url_for is very very slow
 % foreach my $p ( 0 .. int( $rows / $limit ) ) {
 % my $o = $p * $limit;
 %      if ( $o == $offset ) {
 <b><%= $p + 1 %></b>
 %      } else {
-<a href="<%= url_for( action => 'items' )->query( offset => $p * $limit ) %>"><%= $p + 1 %></a>
+<a href="<%= $url . ( $p * $limit ) %>"><%= $p + 1 %></a>
 %      }
 % }
 </div>