下のエントリのCatalyst Modelでホゲホゲしてたら、HTML::FormFuの生成時間が気になってきた。レンダリングと同じくらい時間がかかりやがるので、これをキャッシュしたらいいんじゃね?と
my $form = $cache->get($form_file);
if (! $form) {
$form = HTML::FormFu->new( ... args ... ); # <- ここはちょっと注意必要
$form->populate( get_config($form_file);
$cache->set($form_file, $form);
}
$form->process( $c->request );
return $form;
こうすると同じHTML::FormFuオブジェクトでprocessをリクエスト毎に呼んで、効率的。生成時間は俺の開発サーバーで約4分の1。Micro optimizationかもしれんけど、ついでだったので色々変更してみた。
これが落ち着いたら、HTML::FormFuのMLでCatalyst::Model::FormFuを本格的に提案してみようっと。
コメント