[過去ログ] GCは失敗。メモリは自分で管理せよ! その2©2ch.net (720レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
66: デフォルトの名無しさん [] 2015/11/28(土) 13:34:46.98 ID:CKvy7+My(2/4) AAS
>>6464(1): デフォルトの名無しさん [sage] 2015/11/28(土) 13:08:02.55 ID:Qyl/1Ad+(2/2) AAS
いや無駄じゃないか
代入演算子の順序の関係でnewの後に代入が起こるから
Aを事前にnullすることでGCさんが回収できるオブジェクトが1個増える
つまり、使い終わったら、スグにnullっておいたほうがいいってことか。
・・・とも言い切れないな。
でも、ここで使い終わったってわかるから、書いたほうがいいか。
よし。決めた。全部書こう。
221: デフォルトの名無しさん [sage] 2015/12/06(日) 21:50:20.98 ID:MkaxAbH2(2/2) AAS
そもそもその最適化は仕様なのか
419: デフォルトの名無しさん [sage] 2016/03/27(日) 01:02:24.98 ID:MdJCnp0Y(2/6) AAS
>>415415(1): デフォルトの名無しさん [sage] 2016/03/27(日) 00:26:17.07 ID:vj+h39OC(1/10) AAS
>>399からの流れを見ればわかるがそういう話ではない
参照カウンタ方式以外のGCは、オブジェクトがどこからも参照されなくなったことが「即座」にわからない
だからRAIIが出来ない、そういう話
もちろん、参照の値が書き換わるたびに毎回マークスイープを実行すれば
即座にゴミが分かるがのでRAII出来るが、マークスイープは重いので参照が書き換わるたびに毎回実行できない
その意味で、循環参照以外のGCは重いと言っている
参照カウンタ方式は軽いので毎回実行できる
即座にゴミが分かるからRAIIが出来る
参照カウンタ方式で問題になるのは循環参照が起こった場合だが
循環参照が発生する箇所は設計段階で分かるので、実際には大した問題ではない
C++であれば、片方をweak_ptrにすればよいというだけの話
そこさえ気を付ければ、参照カウンタ方式とデストラクタの組み合わせは非常にうまく機能する
IDisposableのようなものも要らない
そもそも不可視のコードでリソースを解放するのが愚行そのもの
プログラマとしての良識があるならusingを使いなさい
RAIIなどというくだらないバッドノウハウはC#では必要ない
474: デフォルトの名無しさん [sage] 2016/04/18(月) 16:47:31.98 ID:/wa5LIjH(1) AAS
jemallocのようなモダンなmalloc実装使えば良かったのでは。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.032s