[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