[#42454] 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...>

出沢です

22 messages 2006/06/22
[#42455] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — rubikitch <rubikitch@...> 2006/06/22

From: しん <dezawa@aliadne.net>

[#42456] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...> 2006/06/23

出沢です

[#42458] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — rubikitch <rubikitch@...> 2006/06/23

From: しん <dezawa@aliadne.net>

[#42459] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...> 2006/06/23

出沢です

[#42460] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — rubikitch <rubikitch@...> 2006/06/23

From: しん <dezawa@aliadne.net>

[#42461] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...> 2006/06/23

出沢です。

[ruby-list:42467] Re: 多量の正規表現との効率的なマッチのアイデアを、、

From: しん <dezawa@...>
Date: 2006-06-23 11:13:20 UTC
List: ruby-list #42467
出沢@なるほど、、、

ブロックを使うととつぜんrubyらしくなる。

File.read("testdata") ここについて質問です。

巨大なファイルをこうやって読んでしまうと、メモリはどうなるのでしょう。
メモリの多寡によらずとにかく全部読みこんでしまう(でswapするとか)
のでしょうか、それとも必要に応じ読んで行くのでしょうか。

読んじまうんでしょうね。
メモリの圧迫がなんとなく怖くて、mappingtableみたいに、どうせ
全部読んで中に持つんだよな、ってもの以外では使っていませんでした。

かなりのものまでこうやって良いのだとすると、うれしいことがあります。
getc ungetc みたいに gets ungets があると書きやすいプログラムが
結構あったのです。
どうしても欲しい! ってときは、getline ungetlineなんてのを作りこんだり
してました。
それが shift unshift で実現できる。

どのくらいまでいっぺん読みさせて良いものなのでしょう。

多分、2、3ケ月のうちに処理するデータが 1G位になりそうなので、、、
今回のしかけでは1行先読みは無くても良いので、むりしないでおくかな。



In This Thread