10日になったので最適化しましょう。
まず手始めにいろいろキャッシュしましょうね。p5-app-adventcalendarでキャッシュできそうなものはいろいろありますが、今回はRouter、Template Engine、Formatterをキャッシュします。このアプリではそれぞれRouter::Simple、Text::Xslate、Text::Xatenaを使います*1。
もともとこの三つのオブジェクトはhandler()内でいちいちnew()していたのでした。これでは効率が悪い!ということでhandler()の外に出したりidごとにキャッシュしたりするようにしたのでした。
めでたしめでたし。
さらに工夫するとすれば、いちいちText::Xatenaでフォーマットしなおしているのがよくないですね。今度の記事ではそれをやろうと思います。
gfxでした!