タグ

ブックマーク / blog.mirakui.com (1)

  • ActionView::Templateのcompile済み中間コードをキャッシュする - 昼メシ物語

    まずRailsのviewについて説明する。 Railsのviewはerbとかhamlとかで書く。この人間が書いたviewファイルはtemplateと呼ばれ、ActionView::Templateクラスで扱われる。一つのviewファイルが一つのTemplateオブジェクトになる。 このTemplateクラスはTemplate#compileというメソッドを持っている。このcompileメソッドは、人間が書いたerbなりhamlなりのコードをrubyのコード文字列に変換する。controllerでrenderメソッドを呼んだ時、実際に実行されるのは、このrubyコードである。 このcompile処理はそれなりに重いため、何度も呼びたくない。手元の環境では、でかいテンプレートのコンパイルには数百ミリ秒かかることもちょいちょいある。 しかしcompileは、render時に毎回走るわけではなく、

    ActionView::Templateのcompile済み中間コードをキャッシュする - 昼メシ物語
  • 1