Ruby開発版、Rails 3アプリ起動時間を36%短縮!?

ニュース
トップ

Ruby開発版、Rails 3アプリ起動時間を36%短縮!?

後藤大地  [2011/06/07]

Ruby - A Programmer's Best Friend

Ruby 1.9.2はRuby 1.8.7と比較してファイルの読み込み処理が遅いことが知られている。多くのファイルを読み込むようなケースでパフォーマンスが発揮できず、最初の起動に時間がかかる。この問題を解決する話題がRuby Insideに「The Story Behind Ruby 1.9.3 Getting 36% Faster Loading Times」として掲載されている。

記事ではXavier Shay氏が取り組んだ解決方法を紹介。既存の実装はファイルの読み込み時に実施しているルックアップ処理の効率が悪いとし、それをハッシュを使って一気に処理を短縮する方法を提案している。20ほどの依存ライブラリを利用する3,000行ほどのRails 3アプリケーションで起動時間を比較したところ、Xavier Shay氏のパッチを当てたRuby 1.9.3開発版で37%の起動時間の高速化を確認できたという。

記事は続いてload.cに実施されたパッチを紹介。loaded_feature_path()における不要なループ処理を排除するパッチになっており、変更内容も少ない。同様の実験を行ったところ36%の起動時間高速化が確認できたとされており、結果的にXavier Shay氏のパッチと同レベルの高速化が実現されていることが報告されている。

Xavier Shay氏はより大量のファイルを読み込むようなケースではloader.cに適用した処理だけでは足りず、Xavier Shay氏が実施したようにハッシュを利用するコードへ書き換える必要があるだろうと指摘している。しかし、Xavier Shay氏のパッチは1200行を超えており、開発版へマージされるかどうかは不透明。

最終的にどういった方式が採用されるかは今後の開発次第ということになるが、少なくとも次にリリースされるであろうRuby 1.9系の最新版(またはRuby 2系か)では、1.9.2よりもアプリケーション起動時間の短縮化が実現されるとみられる。

関連したタグ
    

    マイナビニュースのセミナー情報

    オススメ記事

    マイナビニュースの集合特集

    関連記事

    関連サイト

    新着記事

    転職ノウハウ

    あなたの仕事適性診断
    あなたの仕事適性診断

    4つの診断で、自分の適性を見つめなおそう!

    Heroes File ~挑戦者たち~
    Heroes File ~挑戦者たち~

    働くこと・挑戦し続けることへの思いを綴ったインタビュー

    はじめての転職診断
    はじめての転職診断

    あなたにピッタリのアドバイスを読むことができます。

    転職Q&A
    転職Q&A

    転職に必要な情報が収集できます

    ドS美人面接官 vs モテたいエンジニア
    ドS美人面接官 vs モテたいエンジニア

    入室しようとしたら、マサカリ投げられちゃいました!?

    特別企画

    一覧

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      一覧

        求人情報