- 論壇徽章:
- 1
|
我認(rèn)為認(rèn)為模板的效率在一般的站點(diǎn)不太會(huì)成為速度瓶頸。所以一直用了N年Template-Toolkit。之前還用過Mason和HTML::Template,最后感覺Template-Toolkit更適合我。
直到,發(fā)現(xiàn)了小日本的這個(gè)http://xslate.org/benchmark.html。為此,去年換了Xslate。再后來是前兩周開始用Mojolicious,作者喜歡發(fā)明輪子,所以就有了Mojo::Template。(這里順便一提,作者在解釋為什么要重新發(fā)明輪子的時(shí)候這樣說“Because we can make them rounder.”這說法夠拽,以后我就和經(jīng)理這么說。)
我測(cè)試了一下Text::Xslate和Mojo::Template,代碼如下:- use Mojo::Template;
- use Text::Xslate;
- use Benchmark qw/timethese cmpthese/;
- my $result = timethese(
- 10000,
- {
- mojo_template => sub {
- my $mt = Mojo::Template->new;
- $mt->render('Hello World');
- },
- text_xslate => sub {
- my $tx = Text::Xslate->new;
- $tx->render_string('Hello World');
- }
- }
- );
- cmpthese($result);
復(fù)制代碼 在一個(gè)比較老的雙處理器(一共4核)的機(jī)器上的到下面的結(jié)果:- Benchmark: timing 10000 iterations of mojo_template, text_xslate...
- mojo_template: 3 wallclock secs ( 2.48 usr + 0.00 sys = 2.48 CPU) @ 4032.26/s (n=10000)
- text_xslate: 21 wallclock secs (20.77 usr + 0.04 sys = 20.81 CPU) @ 480.54/s (n=10000)
- Rate text_xslate mojo_template
- text_xslate 481/s -- -88%
- mojo_template 4032/s 739% --
復(fù)制代碼 后來看到http://xslate.org/benchmark.html提到xslate要在好的服務(wù)器上測(cè)試才能發(fā)揮性能。
好,換一個(gè)雙處理器24核的新機(jī)器上再測(cè),結(jié)果:- Benchmark: timing 10000 iterations of mojo_template, text_xslate...
- mojo_template: 2 wallclock secs ( 1.84 usr + 0.00 sys = 1.84 CPU) @ 5434.78/s (n=10000)
- text_xslate: 13 wallclock secs (13.22 usr + 0.02 sys = 13.24 CPU) @ 755.29/s (n=10000)
- Rate text_xslate mojo_template
- text_xslate 755/s -- -86%
- mojo_template 5435/s 620% --
復(fù)制代碼 看來是時(shí)候換模板了。也省得用我用Mojolicious還得通過plugin來支持Xslate并使用TT的語法。只是還得花時(shí)間看一下Mojo::Template的語法。
幾周前我這里用的從模塊到webserver,很大一部分都是日本制造。等我把模板也換了,我這里就再?zèng)]有日本制造的任何東西了。
|
|