タグ

famlに関するryopekoのブックマーク (3)

  • #RubyKaigi 2015 でテンプレートエンジンの高速化について話しました - k0kubun's blog

    FamlとHamlitがなぜ高速かについて話しました RubyKaigi 2015の1日目に、「High Performance Template Engine」というタイトルで発表しました。 @eagletmtさんが作ったFamlと、僕が作ったHamlitがなぜオリジナルのHamlに比べ高速か話しました。 発表は以下のような内容でした。 テンプレートエンジンとは何か テンプレートエンジンの例 テンプレートエンジンの仕組み パフォーマンス どのようにRubyのコードを速くするか ベンチマークがなぜ必要か プロファイリングの方法 改善の仕方 高速化のために何をしたか Famlがやったこと Attributeの最適化 高速なRuntime Attribute Builder Hamlitがやったこと String Interpolationのコンパイル 使われていない挙動の削除 以下、発表内で

    #RubyKaigi 2015 でテンプレートエンジンの高速化について話しました - k0kubun's blog
    ryopeko
    ryopeko 2015/12/12
    ふつうのパフォーマンス改善の話ですごく良かった
  • faml と slim、hamlit のパフォーマンスの差 - eagletmt's blog

    http://k0kubun.hatenablog.com/entry/2015/03/31/004021 を見て、「faml は slim と同等とか言いながら slim よりずっと遅いじゃん」と思われると悔しいので一応解説しておく。 なお、このエントリは slim 3.0.3 と hamlit 0.4.2 に基いている。 なぜこのベンチマークで faml が遅いのか、結論から言うと、この中で faml だけ自動 html エスケープが有効になっているからだ。 haml はデフォルトでは自動 html エスケープは無効であり、hamlit もそれに倣っている。 slim のベンチマークで用いている slim のビューでは == を使って明示的に html エスケープを無効化している https://github.com/slim-template/slim/blob/v3.0.3/ben

    faml と slim、hamlit のパフォーマンスの差 - eagletmt's blog
    ryopeko
    ryopeko 2015/04/06
    合わせて読むやつ
  • haml の高速なレンダリングエンジン faml を書いた - eagletmt's blog

    haml との互換性にはかなり気を使っているけど、一部意図的に非互換にしていたり、正確な仕様がわからず再現できていない箇所があったり、haml の奇妙な挙動が直っていたりして、完全に全く同じ動作にはなっていない。 先日 faml を番に投入して今も動いている。faml 導入にあたって実際にはアプリケーション側のビューを一部書き換えたけど、大量のビューがある中での変更点は十分少なかったと思う。 なお、このエントリ内での「元々の haml」は haml 4.0.6 を指している。過去のバージョンは知らない。 どれくらい高速なのか 元々 faml を書き始めたきっかけは「haml と slim に文法的に大きな差があるわけではないんだし、slim と同程度高速な haml のレンダリングエンジンは書けるはず」という点だった。 なので、slim と同じくらい高速ではあるものの、slim 以上に高

    haml の高速なレンダリングエンジン faml を書いた - eagletmt's blog
    ryopeko
    ryopeko 2015/04/04
    eagletmt 先生の新作やばすぎ
  • 1