- C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
123 :デフォルトの名無しさん[sage]:2015/08/02(日) 12:17:15.75 ID:qgcm2xe/ - stringで文字列処理するとオブジェクト数がメチャ増えるからGCと相性が悪い
StringBuilderを使っても引数に渡す文字列は結局オブジェクトだからオブジェクト数の削減にはならない CLRでは文字列とGCの相性は最悪と言える
|
- C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
127 :デフォルトの名無しさん[sage]:2015/08/02(日) 12:44:13.40 ID:qgcm2xe/ - >>125
ちょっとしたビジネスロジックに含まれる文字列計算でもすぐに第一世代を圧迫するので平気ではありません >>126 マネージメモリのみを使う他のクラスのオブジェクト同士で比較すると オブジェクトの生成が大量発生する文字列はgcと相性が悪いです
|
- C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
131 :デフォルトの名無しさん[sage]:2015/08/02(日) 13:10:24.61 ID:qgcm2xe/ - >>129
残念ながら第二世代へ昇格してしまうオブジェクトがあるので直ちに解放されるという認識は甘すぎます
|
- C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
134 :デフォルトの名無しさん[sage]:2015/08/02(日) 14:09:04.38 ID:qgcm2xe/ - >>132
Cであればメモリを即時解放できます スタックに文字列を格納したり ヒープの再利用も容易いです あなたの理解は素人レベルですよ
|
- C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
136 :デフォルトの名無しさん[sage]:2015/08/02(日) 14:30:15.00 ID:qgcm2xe/ - >>135
ここまでとは… Cなら標準のメモリアロケーションに頼る必要はありません カスタムアロケータで確保した文字列にも既存の文字列用資産を活用できます しかしC#ではマネージ文字列でなければ便利なライブラリが使えないのです 文字列とCLRひいてはGCの相性はやはり最悪なのでしたとさ
|
- C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
139 :デフォルトの名無しさん[sage]:2015/08/02(日) 14:50:20.59 ID:qgcm2xe/ - >>138
理解が足りていないのですね 文字列は他のクラスよりはるかに多くのインスタンスを必要とされるものです ゆえに文字列を通常のGCに当てはめて処理するのは愚かであると言えます 文字列は文字列に最適化された別のメモリ管理システムを使って管理すべきなのです
|
- C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
155 :デフォルトの名無しさん[sage]:2015/08/02(日) 19:42:53.76 ID:qgcm2xe/ - プログラム勉強する時間があったら遊んだ方が有意義に決まってるだろ
|
- C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
157 :デフォルトの名無しさん[sage]:2015/08/02(日) 20:13:52.63 ID:qgcm2xe/ - >>156
でも遊んじゃうんだなぁ〜 めんどくさい事は外注か新人に丸投げしてな
|
- C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
163 :デフォルトの名無しさん[sage]:2015/08/02(日) 21:16:31.19 ID:qgcm2xe/ - そういうのは趣味だけにしておけよカス
|