スレッド表示 | フラット表示〕 全トピック 920 件中 625 番目 次≫ ≪前

ファイルI/Oで、

created: 2004-04-28 02:16 | modified: 2004-04-29 21:38 | reply: 2

[1540] ファイルI/Oで、

user: ひょ | created: 2004-04-28 02:16
CSV形式のファイルの読み書きを行うプログラムを作成中なのですが、リソースに関しての疑問があるため投稿させて頂きました。ご教授頂けると幸いです。
一度ファイルの内容を全て配列に収めると言うのは処理効率が悪くなる気がします。
今回の処理の場合、各行の先頭の値をキーとして検索をするものでマッチする行はいくつもある可能性があるため全ての行を見なくてはなりません。
一行ずつ読みながら処理をしたほうがいいのか、一度全てを配列に入れてしまった方がいいのか、どなたか同じような経験のある方おりませんか?
やっぱり配列に膨大な量の値が入るのは良くないですよね?
ファイルサイズは各行100バイト程、1000行程度を予想しております。
reply: 1542 返信 編集 削除

[1542] ココの掲示板ログでは

user: ゆうじ | created: 2004-04-28 22:56
こんばんは。ひょさん。

ベンチマークを取ったわけでははありませんので参考になるかわかりませんが。

ココの掲示板ログは、CSVではありませんが、
1行1レコードのファイルを丸読みし、
配列に格納して処理しています。
また、ファイルサイズはだいたい、50KB?150KBあたり、
MAXでも200KBを超える事はないようです。

> 100バイト程、1000行程度

最近のコンピュータは、
普通に256Mとか512Mとかメモリを積んでますので、
このくらいのデータ量ならば、
丸読みでも許せる範囲という感覚でいます。

この10倍くらいのバイナリデータを
読み込み&書き出しとか何気なしにやっっちゃってますので。
(感覚、ずれてるかもしれませんね。)


レコード数の上限がないのでしたら、
1行ずつ読みながら処理するのが基本かとは思います。やっぱり。
Parent: 1540  reply: 1543 返信 編集 削除

[1543] 了解しました。

user: ひょ | created: 2004-04-29 21:38
レスありがとうございます。
確かにファイルは大きくなる一方なので一行ずつ読む事にします。
この辺りの感覚って難しいですね。

どうもありがとうございました。
Parent: 1542  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 625 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑