0

私がアプリケーションを開発している間、私は何度も何度も何度も計算を行い、それを微調整して再度実行し、結果を観察する必要があります。

計算は、大きなファイルからロードされる配列で行われます。数メガバイト。それほど大きくはありませんが、問題は、スクリプトを実行するたびに、最初にファイルを配列にロードする必要があることです。時間がかかります。

データの場所を知り、それを取得するだけで、配列と同様に機能する外部的なものがあるかどうか疑問に思いました。そして、すべてをリロードする必要はありません。

データベースが必要な方法で機能していないように見えることを除いて、データベースについてはよくわかりません。それらは順序付けられておらず、常にすべてを検索する必要があります。そうみたいです。それでも可能性はインメモリデータベースですか?

誰かが解決策を持っているなら、それを聞くのは素晴らしいことです。

副次的な質問-メインのrubyプログラムを無期限に実行できるように、rubyプログラムが実行するスクリプトをユーザーに入力させることは可能ではありませんか?ユーザーが入力したオプションと、それがどのように機能するかについては、まだ何も知りません。

4

1 に答える 1

2

使用Marshal:

# save an array to a file
File.open('array', 'w') { |f| f.write Marshal.dump(my_array) }

# load an array from file
my_array = File.open('array', 'r') { |f| Marshal.load(f.read) }

OS は、データを使用する個別のプロセスの実行間であっても、保存とロードの間でファイルをキャッシュし続けます。

于 2012-08-19T20:08:05.947 に答える