PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
325 98/11/06 16:53:23 RE:RE:RE:ファイル操作のAPIなら By てとらぽっと
315 98/11/05 18:25:49 RE:RE:ファイル操作のAPIなら By あすかちゃんの父
313 98/11/05 17:54:30 RE:ファイル操作のAPIなら By てとらぽっと
312 98/11/05 17:50:52 RE:RE:RE:マクロって遅いんじゃ? By てとらぽっと
311 98/11/05 17:16:26 RE:RE:マクロって遅いんじゃ? By まこと
310 98/11/05 17:04:02 RE:File I/Oは遅いです By まこと
309 98/11/05 16:48:00 RE:RE:RE:RE:RE:RE:File I/Oは遅いです By まこと
307 98/11/05 15:15:42 RE:RE:RE:RE:RE:File I/Oは遅いです By OGR
306 98/11/05 15:08:07 RE:RE:RE:RE:RE:File I/Oは遅いです By あすかちゃんの父
305 98/11/05 14:27:11 RE:マクロって遅いんじゃ? By てとらぽっと
303 98/11/05 13:31:45 RE:RE:RE:RE:File I/Oは遅いです By まこと
302 98/11/05 13:24:58 RE:RE:RE:RE:File I/Oは遅いです By kin
299 98/11/05 11:43:52 RE:RE:RE:File I/Oは遅いです By あすかちゃんの父
297 98/11/05 11:02:53 RE:RE:File I/Oは遅いです By こてちゅ
295 98/11/05 10:49:11 RE:File I/Oは遅いです By kin
293 98/11/04 21:23:21 File I/Oは遅いです By あすかちゃんの父

カテゴリ:その他
日付:1998年11月04日 21:23 発信者:あすかちゃんの父
題名:File I/Oは遅いです

みなさん、こんばんは。

パフォーマンスの話が出たので、それに続く話題として・・・・

最近作ったプログラムで、固定長カラムのtextファイルを読みこむ
プログラムを作りました。一行単位で文字列を分解して、2つ以上の
カラムに分解したり、文字列を置き換えたりするプログラムです。

最初FileOpen関数をラインモードで開いて、FileRead関数で一行づ
づ処理していくロジックにしたのですが、これがむちゃくちゃ遅い。
20,000行程度のファイルを処理すると、20分ぐらい掛かってしまい、
実用に耐えられませんでした。
問題はやはりFileRead関数のファイル・スキャンに時間が掛かって
いるようでした。File I/Oの関数はやはい遅い・・・

それで直接関数でファイルを読むのを止めて、外部ソースのDWを作っ
て、そこでファイルを読みこむようにしました。DWのInportFile関
数は拡張子.txtでないと読んでくれないので、一旦テンポラリの
**.txtファイルへコピーして読込みます。
あと文字列操作のロジックをFind関数を使ったりするように変更した
ところ、DWの読込が4秒、文字列操作が40秒まで短縮することができ
ました。約27倍の改善です。あ、時間のデータは参考程度にしてくだ
さいね。条件で変わってきますので。

あとFind関数もオーバヘッドが大きい(処理的には逐次検索)ので、
使い方には注意が必要です。行数が多い場合はロジックで二分検索
とかした方がいいです。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.