ファイルを開いて読み込み、内容全体を置き換えて書き出して閉じますか?Ruby - ファイルの読み込み、内容の置き換え、終了
File.open('foo.bin', 'r') do |f|
contents = f.read
end
# do something with the contents
File.open('foo.bin', 'w') do |f|
f.print contents
end
をしかしそこに2つのIOオープンステップと、その中に2つのIO近い段階があり、IOのステップを2倍にすると、ディスク上のはるかに困難はもちろんのこと、総廃棄物のように思える:
私はこれを行うことができます私のスクリプトで何度も起こりそうなことが何度もあります。
オープン方法、読み取り方法、上書き方法、終了方法はありますか?
はちょうどそれを処理するために、データのすべての単一の部分を読み込むためにあなたを必要としない優れたデータ・フォーマットを使用することを検討してください。 SQLiteは常に良いスタートです。また、これが遅くなっていると判断する前にコードをプロファイリングしましたか? – Schwern
私の頭の上にあるビジネス上の意思決定のために、私はそれを完全にローカルにして、外部の依存なしにどのマシンにも持ち運びできるようにしなければなりません。どのDBの可能性もほとんどなくなります。サイズは大きすぎてすべてをメモリに格納することはできません。それは私の唯一の選択肢としてIOを残し、私の質問が残っています。 – yenadar
はい、これはいくつかの減速の1つです。私はこれを含め、それぞれに取り組んでいます。 – yenadar