GCは失敗。メモリは自分で管理せよ!at TECH
GCは失敗。メモリは自分で管理せよ! - 暇つぶし2ch76:デフォルトの名無しさん
14/10/12 20:23:46.40 FZ1mZF0A
>>74
2ちゃんねるはじめてか?

これが普通なんだよ。

77:デフォルトの名無しさん
14/10/12 21:18:05.03 ZNdZQbYT
それもあるが、コンピュータに対する考え方が真逆でありながら同じ仕事をしてるからだろうな

78:デフォルトの名無しさん
14/10/12 21:27:56.88 jwvcB2bY
GC自体、メモリ管理がちゃんとできない人対策だったわけで
そんなやつが、メモリリークが発生して、それを調査できるスキルがあるわけもなし

ちゃんとメモリ管理できてる人からすると、よけい複雑になっただけ

79:デフォルトの名無しさん
14/10/12 21:34:54.47 uoArxlQJ
>GC自体、メモリ管理がちゃんとできない人対策だったわけで

あぁ、この中でfree書き忘れたことがない人だけ
石を投げなさいってやつだな(大爆笑)

80:デフォルトの名無しさん
14/10/12 21:45:20.46 K67PydJN
今時c++でdeleteを昔の意味で使う人間は
忘れるとかそれ以前の問題で
終わっているような。

81:デフォルトの名無しさん
14/10/12 21:52:54.07 uoArxlQJ
>>80

仕組みを知った人は、面倒でも効率が悪くて
ミスを誘発しそうでも、

自分でやるのが自称プロだそうですよwwww

82:デフォルトの名無しさん
14/10/12 22:01:17.22 K67PydJN
c++でdelete freeでプログラム書けるし
全く同じやり方で、他のリソースの
解放も勝手にやってくれるようになる。

怖いのは循環参照だけ。
この場合GC言語だとメモリのリークは防げても、循環参照しているオブジェクトに
保持されているリソースの解放タイミングは
全く保証されない。

で、それの対策も考えたら結局
c++で弱参照、単なるポインタなど
駆使するのが一番効率的

83:デフォルトの名無しさん
14/10/12 22:05:26.88 uoArxlQJ
この場合GC言語だとメモリのリークは防げても、循環参照しているオブジェクトに
保持されているリソースの解放タイミングは
全く保証されない。

その反対で、GCではない言語だとメモリリークするわ、循環参照しているオブジェクトは
解放できないわで、もっと問題が起きる。

84:デフォルトの名無しさん
14/10/12 22:08:58.07 jwvcB2bY
>>79
だれ?誰と戦ってるの?

85:デフォルトの名無しさん
14/10/12 22:09:56.49 uoArxlQJ
>>84
知らぬが仏だよ(笑)

86:デフォルトの名無しさん
14/10/12 22:27:26.00 6t43fLEu
GCのやり方?が悪いわけではないでしょ
GCでパフォーマンス上がることもあるし

87:デフォルトの名無しさん
14/10/12 23:01:07.26 yWo9u0cs
>>82
GC言語でリソースの解放タイミングが保証されないのは、別に
循環参照に限った話じゃないと思うが。

88:デフォルトの名無しさん
14/10/12 23:05:39.92 sv4A2Uaz
まあ、適材適所なんだけどね
GC は勝手にやらせとくと色々予測できないし、ちゃんと制御しようとすると面倒なことになって本末転倒だったりする
結局スクリプトとか C# で作るツールとかの小規模なプログラムでしか使ってないや

89:デフォルトの名無しさん
14/10/12 23:19:48.88 K67PydJN
>>87
いやまあ言いたいことは同じなんだけど。
ヒープみたいに、lazyに解放すればいい
リソースなんて少数派な位なのに
ヒープだけを特別扱いしてリークしづらく
しているのがGCで、逆に他のリソースの
解放に関しては糞の役にも立たない。

頑張って使いやすくしても
try with resourcesみたいなのが精々

90:デフォルトの名無しさん
14/10/12 23:20:37.56 Du/HgjiN
単純に速度が必要でメモり欲しいループの前でsystem.gc()すりゃいい

91:デフォルトの名無しさん
14/10/13 00:36:28.02 XlHNUUuP
>>89
> 頑張って使いやすくしても
> try with resourcesみたいなのが精々

言い方がひねくれてるだけで、
使いやすくなってるんだろ?

100% じゃなくても90%なら0%よりもはるかにいいし。
君、完璧主義かい? 完璧じゃなければ0の方がいい。
命を完全に守れないなら、安全装置はいらない。

92:デフォルトの名無しさん
14/10/13 01:50:00.34 qVWnI3+v
シートベルト装着義務違反 減点1

93:デフォルトの名無しさん
14/10/13 02:14:43.55 Sk2z4NAD
そもそも管理の観点が違うものをリソースとかそういう言葉で一括りにしていいもんなのかなぁ
別にGCとRAIIが必ずしも互いに排他的なものでも無いだろうし

94:デフォルトの名無しさん
14/10/13 02:52:33.01 Y+iyP5NT
参照してるから解放されないのであって、使ってない物は
参照しないようにする=null入れるだけの話だろ。

95:デフォルトの名無しさん
14/10/13 02:57:40.58 2n2KRb08
>>93
Unixなんか、リソースは何でもファイルですよ?

これが抽象化というもの。

96:デフォルトの名無しさん
14/10/13 03:02:03.17 jfB1gY05
>>94
OS側から勝手に参照し続けるKindleという機種がありましてな…。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch