掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
fopen を高速化するには (ID:53403)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
先日Qを投げたばかりですが、再度Qを投げさせてください。 現在、10分毎に起動し、約228Kbyteのファイルを約1600個取得し、 20程度のファイルに出力する処理。 を開発しております。 当プログラムを走らせたところ、デバッグ環境において約15分もかかってしまいました。 VC++6.0のプロファイル機能を用いて処理の分散率を計測したところ、 fopenを行う関数内で、出来るだけ処理を高速化したにもかかわらず、 12分もの時間がかかっておりました。 ここで質問なのですが、以下の処理を更に高速化することは可能でしょうか。 ご教授お願いいたします。 int DatGetFromFile( char *cFileName ) { FILE *fp; /* ファイル名を作成 */ if((fp=fopen(cFileName, "rb"))==NULL) { return ERR_FILE_OPEN; } else { /* 一括取得 */ fread( gcFileData, sizeof(char), sizeof(gcFileData) - 1, fp); if(ferror(fp) != 0) { return ERR_FILE_READ; } } fclose(fp); return(NORMAL); } ※ gcFileData にはファイルを一括取得できるバッファサイズ(228KByte)が用意されています。 ※ MFCでのデバッグを行いましたが、実際に稼働する環境はUNIX(SunOS 5.8)です。 よって CFileクラス等を使うことはできません。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.