民芸的プログラミング 〜ソフトウェア開発日記〜

アクセスカウンタ

zoom RSS メモリリークに気付くのは難しいはず

<<   作成日時 : 2009/06/23 08:08   >>

ブログ気持玉 0 / トラックバック 0 / コメント 2

ちょっと日が経ってしまったけれど、先日、スラッシュドットジャパンを見ていたら、Firefox 3.5 RC版のトピックが立っていた。
http://slashdot.jp/it/09/06/19/0530202.shtml
ここで、Firefox のメモリリークがどうのこうのという話が出ている。
3.0.11に上げてから、なぜかメモリーリークがひどくなった(500,000K以上消費しているのを確認して恐怖した)
というような書き方で。
しかし、ちょっと待った。

メモリリークというのは、プログラムが確保したメモリを解放し忘れている状態のことだ。
そして、ユーザーの目からだと、Firefox が意図して 500,000K のメモリを確保して解放していないのか、意図せずして解放していないのか、区別のつけようがないのだ。
メモリを 500,000K 確保しようが、1,000,000K 確保しようが、最後にちゃんと解放されていれば、それはメモリリークとは言わない。
さらにやっかいな(うれしい?)ことに、Windows の場合、Firefox を終了すると、OS が自動的に Firefox が確保したメモリを解放してくれる。本当にメモリリークをおこしていても、OS が何とかしてくれるのだ。
こうなると、いよいよもって、本当にメモリリークが起こっているのかどうかなんて、ユーザーに区別できるはずがない。
最後には必ず解放されることが保証されてしまっているのだから。

500,000K のメモリが確保されるのがどうしてもおかしいと言うなら、それは単なる「メモリの食いすぎ」であって、「メモリリーク」と結論づけることはできない。
「メモリリーク」かどうかは、結局、ソースを追いかけないと分からないものなのだ。

なぜ、今、このような分かりきったことを改めてここに書くのかというと、それはやはり上で引用したスラッシュドットジャパンの記事が気になったからであり、自分の知らない間に「メモリリーク」という言葉の意味が変わってしまったのではないかと心配になったからである。

さっき、念のために Wikipedia でも確認した。
「メモリ食い」と「メモリリーク」は別の概念だ。
メモリリークは「確保したメモリの解放忘れ」という意味で、昔も今も変わっていない。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(2件)

内 容 ニックネーム/日時
カタカナや熟語を使ったほうがカッコいいと思うせいか、間違った用語を勝手に当てはめて使ってしまう例は多いですね!
 この前はラジオで「(歌手の)小田和正さんは年齢を感じさせないパフォーマンスで大きなステージを右往左往に走り回っていました」と、(キリっと)パーソナリティーが喋っていましたが・・・「縦横無尽」と間違えてるぞ、とクルマを運転しながら激しい違和感を覚えていました。

パソコン関係で多いのは「熱暴走」ですね。(wikipedia日本語版には、ある程度適切な記載があります。)
ぶりき
2009/06/25 12:44
ぶりきさん、お久しぶりです。お元気そうで何よりです。

私もどちらかというと間違った用語を使って後で恥ずかしい思いをすることが多いほうです。
ですので、今回は必死で Wikipedia その他で裏を取って、記事にしました。

あと多いのは、漢字の読み間違いですね。
麻生総理の記事が出るたびに、笑えない思いをしています。「縦横無尽」なんて平気な顔をして「たてよこむじん」って読んでしまったりしますし。

一つ言い訳をするならば、出版関係者は読み合わせで校正する際に似た言葉を区別するためにわざと違う読みをすることはあるのですよ。「凡例」を「判例」と区別するためにあえて「ぼんれい」と読むとか。
kazuyoshikakihara
2009/06/26 09:22

コメントする help

ニックネーム
本 文
メモリリークに気付くのは難しいはず 民芸的プログラミング 〜ソフトウェア開発日記〜/BIGLOBEウェブリブログ
文字サイズ:       閉じる