概要: Perl のテンプレートエンジンでのテンプレートのコンパイル方法をまとめて見る。
なんというかなんとなくまとめてみた。
やり方がわかったのは
- Template Toolkit
- Mojo::Template
- Text::MicroMason
の三つ。
- HTML::Template
- HTML::Mason
はコンパイル方法が見つけられなかった。
なんというか、HTML::Template はどうもなさそうで、 HTML::Mason は多分方法があるんだろうけど良く分からないって言う。
で、以下やり方。
Template Toolkit
use Template; my $tt = Template->new; my $compiled = $tt->context->template( $source );
Mojo::Template
use Mojo::Template; my $mt = Mojo::Template->new; $mt->parse( $source )->build->compile;
Text::MicroMason
use Text::MicroMason; my $mm = Text::MicroMason->new; my $compiled = $mm->compile( $type => $source );
まとめた感想。
Perl でテンプレートを扱うときって言うのは、アプリケーションの実行時にはテンプレートを変更せず、 変数だけをごにょごにょするってのが大半だろうから、テンプレートあらかじめコンパイルしておいて使い回せば、 ある程度の速度改善が望めるんじゃないかと思ってたりする。
まあ高速なテンプレートエンジンだとコンパイルして使いまわしてもそうは速度が変わらないだろうけど、 コンパイルに時間のかかるテンプレートエンジンだとそれなりに速度改善が見込めるんじゃないかな。
まあでもテンプレートエンジンによってはテンプレートをコンパイルする方法が無かったりするので、 使ってるテンプレートエンジンによるだろうけど。
で、コンパイルする方法を調べてて思ったんだけど、こういうのって Wiki とかにまとめた方が良いよなぁと思ったり。 Blog に書くと後で見なくなったりしそうだし、書いたことを忘れちゃいそうでもあるし。
まあ何の参考になるかわからないけど、何かの参考になれば。