2009-02-27 6 views
4

起動に約30秒かかるRubyスクリプトがあります。それはすべてのライブラリやものを読み込もうとするので、それは大変です。WindowsまたはCygwinでのRubyスクリプトの起動の高速化

私がruby.exe -vを実行すると、それは瞬時になります。

私が書いたオリジナルのルビースクリプトには触れたくありません。

この処理を高速化するための秘訣は何ですか?

  • プリコンパイルできますか?
  • これらのファイルをすべてプリキャッシュすることはできますか?

これはWindowsまたはCygwinで行う必要があります。

UPDATE:

  • スクリプトは、この条件は、Windowsに固有のものではない、同様のLinux/Macの中には非常に遅いです。
  • これは
  • 主なボトルネックは非常に多くのライブラリをロードしている通常のルビー1.8.7(他のRubyのバージョンで同様の速度)である(私は不要なファイルとライブラリを削除し、スローに大幅にまだ時間を減らす)
+0

もう少し詳しくお聞かせください。 Like: スクリプトとは何ですか? linux/macで高速に動作しますか? あなたにはいくつのライブラリがありますか? スクリプトはあなたのルビーを実行しているのですか、あるいはおそらくjrubyですか? – pope

+0

私は質問を更新しました。私はルビーの人ではありません、私はjrubyが何であるか分からない、これは普通のルビーアプリケーションです。スクリプトは大量のアプリケーションであり、起動時に多くのプラグインが読み込まれます。 –

+0

少なくともスクリプトの先頭にすべてのrequire行を投稿してください。そこには減速の原因となるものがあります。物事をロードするのに30秒も長すぎます。何かがネットワーク通信の何らかの試みをしようとしている可能性があり、タイムアウトしています。 –

答えて

1

私はスクリプトがrubygemsを使用するとしますか?

ruby​​gemsの代わりにminigems(gem install minigems)をインストールしてみて、少し速くするといいでしょう。

0

申し訳ありませんが、Rubyスクリプトをコンパイルする方法はありません。このスクリプトはどのような種類の読み込み/実行ですか?

あなたは正しいです、30秒はかなり長いです。このスクリプトは非常に高価なWebやデータベースに呼び出しを出していますか?図書館の読み込みに時間がかかりすぎるとは信じがたいです

...私はちょうどコメントに気付き、1-4秒になったことを知りました。他のコメントが正しいです、スクリプトの先頭に必要事項を投稿してください

関連する問題