[過去ログ] GCは失敗。メモリは自分で管理せよ! その2©2ch.net (720レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
7: デフォルトの名無しさん [sage] 2015/11/19(木) 23:17:01.16 ID:SYMznuBH(1/2) AAS
519 :名無し~3.EXE:2015/11/19(木) 21:49:08.84 ID:CEKgHuEl
他のアプリを使用しながらSleipnirを使う
メモリー不足でのメッセージは良心的
画像リンク
問題点として、場合によってはメモリー不足で
メッセージされずに展開されなくなる
Sleipnirが不安定で信頼感を得られない要因
520 :名無し~3.EXE:2015/11/19(木) 21:51:47.06 ID:CEKgHuEl
6で書き込み欄が展開されなくなった・・・再起動してカキコした
521 :名無し~3.EXE:2015/11/19(木) 21:52:39.96 ID:CEKgHuEl
◆重要◆Sleipnirが不安定で信頼感を得られない要因
20(1): デフォルトの名無しさん [] 2015/11/22(日) 01:48:28.16 ID:7AflF1fM(1) AAS
メモリ管理を楽にするためにあるわけで人間が全部面倒みんのとは違うだろ
58: デフォルトの名無しさん [sage] 2015/11/25(水) 07:39:30.16 ID:JnM8vxaH(1) AAS
メモリ管理テケトーなやつはその他のリソース管理もテケトー
65: デフォルトの名無しさん [sage] 2015/11/28(土) 13:10:10.16 ID:rTI66XO9(1/3) AAS
書いたほうが保守性は高く、意味がある。
85: デフォルトの名無しさん [sage] 2015/11/28(土) 21:20:40.16 ID:ETFlkHGB(1) AAS
null 代入したら行数増えるじゃん…全部のローカル変数にやってんの?
どうしても明示したければスコープで区切った方がまし
それでもインデントが深くなるのであれだけど
164: デフォルトの名無しさん [sage] 2015/12/05(土) 12:38:09.16 ID:eGerJrSR(2/5) AAS
むしろ議論すべきはshared_ptrのような参照カウンタ方式のスマポと
言語ビルドインのマークスイープ系のGCとで
どちらが良いか、だろう
参照カウンタ方式は循環参照で問題を起こすし
マークスイープ系のGCはいつ実行されるか分からない
442: デフォルトの名無しさん [sage] 2016/03/27(日) 22:41:25.16 ID:VNvh7E4d(1) AAS
>>440440(2): デフォルトの名無しさん [sage] 2016/03/27(日) 22:32:53.86 ID:vj+h39OC(10/10) AAS
>「いつか」全員が所有権を手放したら「即座に」破棄される
>「いつか」全員が所有権を手放したら「いつか」GCで破棄される
>どう違うというのか。
少なくとも最善が尽くされるという意味で違うし
同じデータと同じプログラムで有れば、常に同じタイミングで開放処理が走るという再現性が有る
それから、自分しか所有権を持っていない場合、つまり参照数が常に1というシンプルな状況ですら
参照カウンタ方式の方が開放処理が自動化されて楽
参照カウンタ方式で有れば、スマポを使っておけば済む
scoped_ptrでも良い
マークスイープ系GCであれば、自身しか所有権を持たない単純な場合でも
非常に面倒なことになる
自身にDisposeを実装して自身のメンバのDisposeを呼び出すコードを手動で書かなければならない
何故こういったコードをコンパイラが自動生成できず、手動で書かなければならないのかの根底に
まさにマークスイープGCの存在が有る
マークスイープ系GCは何処からも参照されなくなったことがその場ですぐに分からない
GCを発動してみるまで保証することが出来ない
自分のDisposeが呼び出された、まさにその瞬間に、自分のメンバに対してもDisposeしてよいのかどうなのか
参照数がリアルタイムで即座に分からないので判断する材料が何も無く
コンパイラはC++のデストラクタのように自動で芋づる式に開放処理を呼び出すコードを生成することが出来ない
要するにマークスイープ系GCではDisposeのコンパイラによる自動生成が出来ないという大きなマイナスが有る
子要素をDisposeしていいかどうかもわからないってそりゃ設計サボってる以外のなんでもないだろう
ちゃんと設計してればいつ削除してよいかなんてわかるはずだろ
まともに設計もできないレガシーエンジニアは黙っててよ
設計に時間使わないとリソース云々以前に別のバグだらけになるぞ
456: デフォルトの名無しさん [sage] 2016/04/13(水) 10:33:47.16 ID:+hJ3fPVS(1) AAS
>>455会社にいるよな、そういうやつ
457(1): デフォルトの名無しさん [sage] 2016/04/13(水) 15:29:31.16 ID:oOcEPJTu(1) AAS
GC大好きっ子に聞きたいんだが
完璧な(理想的な)GCを搭載したメジャーな言語処理系って何があるの?
これで開発すればリークも管理も気にしないでOKってやつ
483: デフォルトの名無しさん [sage] 2016/04/18(月) 21:13:59.16 ID:RPQ9NKJO(2/2) AAS
>>482482(2): デフォルトの名無しさん [sage] 2016/04/18(月) 20:57:42.92 ID:IBBVu28x(3/4) AAS
専用ゲーム機上のゲームだよ。
リソースが逼迫したら何を優先するかの戦略も含めてほぼ理想的なgiven conditionだろうに。
ユーザーの行動による不確定性も全てコントロール下にあるだろうに。
専用ゲーム機と普通のPCの1アプリケーションとで何が違うのか。mallocも使わないってこと?
NoGC, 各GCでメモリ空間がどう使われるかを視覚化
外部リンク:spin.atomicobject.com
黒: 未使用
灰: 確保
緑: 読み込み
黄: 書き込み
赤: GC用のアクセス(参照カウンタ、マーク用ビットetc)
緑と黄は時間経過で退色していく
メモリフラグメンテーションという観点から見ると、コピー型GCが綺麗。
509: デフォルトの名無しさん [sage] 2016/04/22(金) 19:23:46.16 ID:cAq2nbH2(1) AAS
用途ごとにセグメント分けて使い回すのが無難じゃないの
オブジェクトの数が足りなくなったら透明でいいのよ
600(1): デフォルトの名無しさん [sage] 2016/11/15(火) 04:04:15.16 ID:9A/eUvIY(1/2) AAS
メンバーにdisposeしなければならないような設計が良くない。そんなものはメソッド内のローカル変数に止めるべき。
それすらも理解できず(考え付かず)にただ一律なんにでも同じ考え方を押し込むのはただの愚行。
ありもしない、回避可能な杞憂をただ恐れるのは、勉強不足か進歩が止まっているだけ。
だから皮肉を込めて老害と呼ばれる
653: デフォルトの名無しさん [sage] 2017/09/12(火) 13:22:19.16 ID:crCgFvVY(1) AAS
フラグメンテーションはアドレス空間や実メモリ量が限定される環境をどううまく使うかの話だから
MMUがあって64bit空間なら平気と言われてもな
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.046s