• ベストアンサー

rubyのインタプリタについて

プログラムを作って実行しました。すると5秒ぐらい経過して出力が現れ終了しました。このプログラムをまた実行するとつぎは1秒ぐらいで終了しました。rubyはインタプリタ言語なので機械語に一旦翻訳して実行していると聞いたのですがそれではなぜ上記のように5秒かかっていたものが次の実行時には1秒ぐらいですんでしまったのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yukimican
  • ベストアンサー率70% (112/159)
回答No.1

rubyの内部構造は知りませんが、 内部で使用している(組み込み)ライブラリ等が キャッシュされているのではないでしょうか?

mamoko7
質問者

お礼

なるほど、そういうことですか。ありがとうございます。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

#1の方の書かれているように、ライブラリがOSのディスクキャッシュに残っていたためと思われます。 一旦大きなアプリケーション(OfficeとかAcrobatReaderとか)を起動したりすると、キャッシュから追い出されてまた5秒かかるようになると思います。

mamoko7
質問者

お礼

なるほど、ありがとうございます。