[Warszawa-pm] WebNano

piotr pogorzelski pp w webtel.pl
Pią, 7 Maj 2010, 05:03:32 PDT


ciag dalszy zabawy, prosta strona przez Template


w catalyscie

script/catapp_create.pl view TT TT

root/hello.tt
"Hello TT World"

sub hello :Global {
     my ( $self, $c ) = @_;
     $c->stash(template => 'hello.tt');
}



PSGI:
t2.psgi
package t2;

use parent qw(Plack::Component);
use Plack::Response;
use Template;
my $tt = Template->new({
                INCLUDE_PATH => '/home/pp/cat1/CatApp/root',
                INTERPOLATE  => 1,
            });

sub call {
     my ( $self, $env ) = @_;
     my $body;
     $tt->process('hello.tt',{},\$body);

     return [
         200,
         [ 'Content-Type' => 'text/html', 'X-PP' => 'PP' ],
         [ $body ]
         ];
     }

t2->to_app;


Catalyst:
/usr/sbin/ab -n 1000 http://localhost:3000/hello
7.946 ms/req (125.85 req/sek)

(dla porownania catalyst z hello world jako sub { return "hello world"}
czyli poprzednia wersja

/usr/sbin/ab -n 1000 http://localhost:3000/
6.946 ms/req (143.97 req/sek)



PSGI:
/usr/sbin/ab -n 1000 http://localhost:5000/psgi/t2.psgi
2.194 ms/req ( 455.81 req/sek)

(hello world jako sub { return "hello world"})
/usr/sbin/ab -n 1000 http://localhost:5000/psgi/t1.psgi
1.854 ms/req ( 539.38 req/sek)


czyli wczytywanie pliku przez TT nie daje duzej straty czasowej

a te liczby to trzeba z przymrozeniem oka brac, bo testuje
na desktopie i wyniki plywaja o kilka/nascie procent w zaleznosci
co sie na nim dzieje.


psgi wykorzystalbym do rest-a, do wspolpracy z ajaxem.
albo zewnetrznymi uslugami.

a generowanie stron powierzyl catalystowi.

tu widze sile plack/psgi
nalozenie na to frameworku (poza autoryzacja) zabije wydajnosc,
a catalysta i tak sie nie przeskoczy jesli idzie o funkjonalnosc



Więcej informacji o liście Warszawa-pm