討論區: 公開討論 (Thread #2671)

メモリリーク? (2003-05-15 08:29 by 匿名 #4797)

「バイナリモードでファイルを2個オープンし(1=r,2=w)、
ファイル1からreadlnで読んだデータをregexp正規表現デミリタをもちいてsplit抽出したデータを整形してwritelnでファイル2に書き出す」
というスクリプトを作ってみたのですが、DMSHostで実行すると、メモリ消費量がうなぎのぼりに増えていき、スクリプトの処理が途中で止まってしまいます(多分
メモリオーバーフローで強制終了されていると思うのですが)。
#ファイル1が数kB~数10KBのときは大丈夫なのですが
#2~3MBになると確実に止まります。

ひょっとしてメモリリークでは、と思うのですが。

回覆 #4797×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) 登入

RE: メモリリーク? (2003-05-15 13:42 by preneco #4798)

似たようなスクリプトを書いて、いろいろ調べてみると問題がありそうな部分が見つかりました。
速度面などを考えて修正するとなると、私から見れば、ちょっと時間がかかりそうな部分っぽいです。

Wolfyさんと相談してみます。
回覆: #4797

回覆 #4798×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) 登入

RE: メモリリーク? (2003-05-20 20:16 by gaogao #4822)

ども修正しました。
TJEngine.EvalStatementの最後の方です。
0.3.5は今月中にはリリースします。

4Mほどのファイルを試してみたんですが、かなーり時間がかかりますね。
速度については現バージョンではこれ以上の改善は難しいので、次期バージョンで仮想マシンにして改善予定です。
回覆: #4798

回覆 #4822×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) 登入