メモリ動的確保毛嫌い症候群

アバター
lbfuvab
記事: 72
登録日時: 14年前

メモリ動的確保毛嫌い症候群

投稿記事 by lbfuvab » 10年前

いきなりタイトルに矛盾しますが。別に動的確保を毛嫌いしてるわけじゃないです。
ただ、失敗する可能性がある処理を番度書くのは厄いなぁ・・・と思っているわけです。

そこで、処理が面倒にはなりますが、大体の場合
(1)最初に割と大きめに確保
(2)足りなくなったらやっぱり少し多めに再確保
とかやっています。

なんだか酷い被害妄想の様な気もしますが、どうにも心配なんですよね。

アバター
nullptr
記事: 239
登録日時: 13年前

Re: メモリ動的確保毛嫌い症候群

投稿記事 by nullptr » 10年前

言語がわからないけど、CかC++だろうか。
「失敗する可能性がある」というのはどういうのを指すのだろう?
メモリ確保に失敗するなんていまどきほぼありえない(ありえたらそれはプログラムが狂ってるかOSがソフトウェアを実行できる状態じゃないから気にすることじゃない)だろうし。
解放忘れを指しているのなら、C++ならスマートポインタなどRAIIでどうにでもなる話だし。
何を以って毛嫌いしている(しそうになる)のかが書かれていない。
だから何を心配してるのか全くわからないけど、だったらメモリ確保とか気にしなくていい言語を使ったらどうだろうか。

アバター
lbfuvab
記事: 72
登録日時: 14年前

Re: メモリ動的確保毛嫌い症候群

投稿記事 by lbfuvab » 10年前

私はC言語しか使えません(ドヤ顔)

実際、メモリの動的確保が失敗する事なんてほぼ無いのは分かっているんですが、その可能性があるだけで嫌じゃありませんか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前

Re: メモリ動的確保毛嫌い症候群

投稿記事 by softya(ソフト屋) » 10年前

> 実際、メモリの動的確保が失敗する事なんてほぼ無いのは分かっているんですが、その可能性があるだけで嫌じゃありませんか?

そんなことを言ってたらCPUが宇宙放射線で誤動作した場合も考えないといけない。可能性はZEROじゃないし。

「【PC Watch】 【IRPS 2011レポート】中性子線がボードのCPUやメモリなどを誤動作させる仕組み」
http://pc.watch.impress.co.jp/docs/news ... 43999.html

たぶん、気になりだしたはず。

アバター
みけCAT
記事: 6734
登録日時: 14年前

Re: メモリ動的確保毛嫌い症候群

投稿記事 by みけCAT » 10年前

オフトピック
メモリの動的確保が失敗する可能性はほぼ無い…

某環境で大量のメモリをひたすらmallocで確保する実験をした時、
さすがに失敗するかと思ったけどスワップが全力で仕事して失敗は出さなかったのは驚いたなあ…

アバター
lbfuvab
記事: 72
登録日時: 14年前

Re: メモリ動的確保毛嫌い症候群

投稿記事 by lbfuvab » 10年前

こういうのもあるんですね。
将来、航空機に載せるプログラムを書く機会があったら気にする事にします。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前

Re: メモリ動的確保毛嫌い症候群

投稿記事 by softya(ソフト屋) » 10年前

lbfuvab さんが書きました:こういうのもあるんですね。
将来、航空機に載せるプログラムを書く機会があったら気にする事にします。
いや、地上で起こる確率もZEROじゃないです。
この確率が無視できるならmallocエラーも無視できると思うんですけどね。

アバター
GRAM
記事: 164
登録日時: 14年前

Re: メモリ動的確保毛嫌い症候群

投稿記事 by GRAM » 10年前

CFDのユーザーデファインドファンクションとかやっててちまちまと動的確保するとワークステーションでも例外吐いて落ちることはある。
自分もそれが嫌だからこの用途に限ってはごそっと最初に確保する。そこで落ちるなら何時間も待たされた挙句計算が終わってないということは避けられるし、残りのコアで他の計算回す人がいてもそのせいで落ちるということはないから。
それ以外の時は気にしたことないですね。

…しかし最近はセル数が流速とかによって自動的に最適化されて時間ごとに変化するから最初に必要なリソースを予測するのができなくってる。ごそっととったつもりが足りなかったということがあって、やっぱり1日後に落ちてたりする。
なんとかならんのか…
最後に編集したユーザー GRAM on 2015年4月14日(火) 01:45 [ 編集 1 回目 ]

アバター
nullptr
記事: 239
登録日時: 13年前

Re: メモリ動的確保毛嫌い症候群

投稿記事 by nullptr » 10年前

>ぐらみー
メモリ倍プッシュだ…!(RAM 4TByte)
最後に編集したユーザー nullptr on 2015年4月14日(火) 03:15 [ 編集 1 回目 ]

YuO
記事: 947
登録日時: 14年前

Re: メモリ動的確保毛嫌い症候群

投稿記事 by YuO » 10年前

最近の環境だと,メモリ確保に問題が起きる可能性は概して低いですね。
仮想記憶の仕組みもありますし。

ネットワークとかファイルとか,エラーを前提として組まないといけないものが現在はたっぷりありますから,そちらの方を気にすることが多いです。
メモリ確保失敗はほぼ回復不可能なエラーなので,どうしようもない,ということもありますが……。
# 現状を保存しようにも,その保存にかかるメモりを確保出来るのか,という問題が発生する