Acvent Calendar Applicationを高速化する

tag

10日になったので最適化しましょう。
まず手始めにいろいろキャッシュしましょうね。p5-app-adventcalendarでキャッシュできそうなものはいろいろありますが、今回はRouter、Template Engine、Formatterをキャッシュします。このアプリではそれぞれRouter::SimpleText::XslateText::Xatenaを使います*1

もともとこの三つのオブジェクトはhandler()内でいちいちnew()していたのでした。これでは効率が悪い!ということでhandler()の外に出したりidごとにキャッシュしたりするようにしたのでした。

めでたしめでたし。

さらに工夫するとすれば、いちいちText::Xatenaでフォーマットしなおしているのがよくないですね。今度の記事ではそれをやろうと思います。

gfxでした!

*1: Text::XslateとText::Xatenaは見た目が似ていて紛らわしいですね。