fjの時代から10年以上に渡るmalloc/free問題について語ってください(^q^)
前スレ
main以外★mallocの後にfree不要と言うバカいるの?
http://toro.2ch.net/test/read.cgi/tech/1352812333/
探検
mallocの後にfree不要と言うバカいるの?Part2
■ このスレッドは過去ログ倉庫に格納されています
2013/01/30(水) 21:38:37.44
363デフォルトの名無しさん
2014/10/09(木) 18:57:30.60ID:vRdoCwIm364デフォルトの名無しさん
2014/10/09(木) 20:36:35.27ID:9/qS7Lgu おっけー
365デフォルトの名無しさん
2014/10/09(木) 20:53:58.60ID:tOThY/oR >>363
free/delete しないのなら自前のアロケータなんか要らないのでは?じゃんじゃん malloc() すればいいだけの話
free/delete しないのなら自前のアロケータなんか要らないのでは?じゃんじゃん malloc() すればいいだけの話
366デフォルトの名無しさん
2014/10/09(木) 23:16:03.38ID:vRdoCwIm せやな。
RAM512KBでも普通に動いてたしな、16GBも有ったら解放する必要あらへん。
知ってるか?
16GBは64億個の0と64億個の1が有るのや、合わせて128億個やで。
128億という数は、地球上に有るすべての砂の数より多いねんで。
こんなん使い切れるわけあらへんしな。
RAM512KBでも普通に動いてたしな、16GBも有ったら解放する必要あらへん。
知ってるか?
16GBは64億個の0と64億個の1が有るのや、合わせて128億個やで。
128億という数は、地球上に有るすべての砂の数より多いねんで。
こんなん使い切れるわけあらへんしな。
367デフォルトの名無しさん
2014/10/10(金) 00:31:13.03ID:sOr9aeNy 一人ではね。
368デフォルトの名無しさん
2014/10/10(金) 04:16:27.17ID:KCO91E8u 人間だけでも70億人以上いるらしいんだが
世界の砂ってそんなに少ないのか
世界の砂ってそんなに少ないのか
369デフォルトの名無しさん
2014/10/10(金) 07:42:18.41ID:JpN3UDQu てか、GCって駄目じゃね?
GCあってもメモリリーク問題解決してないやん
なら、最初から自分で管理するという教育をした方が良くね?
GCあってもメモリリーク問題解決してないやん
なら、最初から自分で管理するという教育をした方が良くね?
370デフォルトの名無しさん
2014/10/10(金) 08:11:32.03ID:Npcpt0Da freeしたいやつはして、したくないやつはしなければいい
それだけ
以上
終了
おつおつ
それだけ
以上
終了
おつおつ
371デフォルトの名無しさん
2014/10/10(金) 08:30:54.00ID:kwgAp7cQ >>368
冷静かつ的確な指摘すぎてワロタ
冷静かつ的確な指摘すぎてワロタ
372デフォルトの名無しさん
2014/10/10(金) 12:50:29.54ID:4Jxm1TDD373デフォルトの名無しさん
2014/10/10(金) 18:16:01.82ID:Xd6YjWLK そりゃ何を free() していいのか、何を free() しなくていいのか、わかっていないからね‥
374デフォルトの名無しさん
2014/10/11(土) 01:03:15.48ID:ZmK/zNnJ freeしない生き方を選択したとき、精神は解放されるんやで。
覚えとき。
覚えとき。
375デフォルトの名無しさん
2014/10/11(土) 06:58:25.56ID:BpoU1i8h376デフォルトの名無しさん
2014/10/11(土) 09:22:03.50ID:8nW7oHJ6 >>370
いやこれでまじで終了だろ
いやこれでまじで終了だろ
377デフォルトの名無しさん
2014/10/11(土) 09:33:07.63ID:Qk2dzUbv378デフォルトの名無しさん
2014/10/11(土) 09:42:45.54ID:/AOb9xWD クラスの中に放り込んで管理してるから、freeしたくなくても勝手にfreeされるんだが
379デフォルトの名無しさん
2014/10/11(土) 10:00:29.43ID:BpoU1i8h >>376
はいはい、終わりだからもう来るなよ
はいはい、終わりだからもう来るなよ
380デフォルトの名無しさん
2014/10/11(土) 11:44:11.01ID:8nW7oHJ6 >>379
おまえもなー
おまえもなー
381デフォルトの名無しさん
2014/10/11(土) 12:39:02.40ID:povbJtsL >>380
うざ、来るなって言われてるのに、free もできないバカはこれだから
うざ、来るなって言われてるのに、free もできないバカはこれだから
382デフォルトの名無しさん
2014/10/11(土) 13:20:27.24ID:oD37Hh5X おまえのようなバカが他で暴れないようにするためにこのスレがあるんだよw
383デフォルトの名無しさん
2014/10/11(土) 13:55:55.55ID:BpoU1i8h384デフォルトの名無しさん
2014/10/11(土) 16:47:40.65ID:8nW7oHJ6 (´・ω・`)
385デフォルトの名無しさん
2014/10/12(日) 14:14:14.69ID:n4H9xNXC ネバーエンディングストーリー♪
386デフォルトの名無しさん
2014/10/12(日) 14:29:10.77ID:sv4A2Uaz >>384
まだいたのかよ w
まだいたのかよ w
387デフォルトの名無しさん
2014/10/12(日) 14:33:27.20ID:HHh3+SMY388デフォルトの名無しさん
2014/10/12(日) 15:18:47.16ID:sv4A2Uaz389デフォルトの名無しさん
2014/10/12(日) 15:30:56.77ID:63mVogyM mallocの先にfreeしてみてはどうだろうか
390デフォルトの名無しさん
2014/10/12(日) 15:35:01.76ID:HHh3+SMY391デフォルトの名無しさん
2014/10/12(日) 15:46:26.73ID:yWo9u0cs freeできることの判断を局所化することはできるが、freeしなくても問題ないという
判断は大域的にならざるを得ない。あとはセンスの問題だ。
グローバル変数バンバン使って平気な人もいるしな。
判断は大域的にならざるを得ない。あとはセンスの問題だ。
グローバル変数バンバン使って平気な人もいるしな。
392デフォルトの名無しさん
2014/10/12(日) 16:02:22.91ID:sv4A2Uaz393デフォルトの名無しさん
2014/10/12(日) 16:04:41.38ID:HHh3+SMY >>392
ワロタw
ワロタw
394デフォルトの名無しさん
2014/10/13(月) 00:21:10.29ID:Kelszug8 free必須教の第一信徒はQz
395デフォルトの名無しさん
2014/10/13(月) 08:15:56.25ID:BlK6LuSG396デフォルトの名無しさん
2014/10/13(月) 08:39:15.72ID:qVWnI3+v RAID 6 ってつよいの?
397デフォルトの名無しさん
2014/10/13(月) 10:04:05.65ID:XwZMSYHG >>297 の事情はよくわかる、所詮 free() はプロセスがOSから取得したメモリブロックのなかでのつじつまあわせ
399デフォルトの名無しさん
2014/10/13(月) 10:49:30.16ID:7i+sJhXA400デフォルトの名無しさん
2014/10/13(月) 10:57:56.36ID:/QBpY+Db 必須派vs不要派 っていう対立が不毛だわな
ワザとやってるのかそれが分からないのか
必須派vs必須じゃあないだろう?派 ってだけだろ
ワザとやってるのかそれが分からないのか
必須派vs必須じゃあないだろう?派 ってだけだろ
401デフォルトの名無しさん
2014/10/13(月) 11:04:25.31ID:yDwfk/q+ いや逆じゃね。
現実的にはほぼ必須派と、常に要らない派との争いで
何故か常に要らない派が、分かっていて
freeしなくてもいいある意味特殊な例を
持ち出して、だからfreeは必要ないみたいに
無茶な論理を成り立たせようとしているだけ。
現実的にはほぼ必須派と、常に要らない派との争いで
何故か常に要らない派が、分かっていて
freeしなくてもいいある意味特殊な例を
持ち出して、だからfreeは必要ないみたいに
無茶な論理を成り立たせようとしているだけ。
402デフォルトの名無しさん
2014/10/13(月) 11:08:58.83ID:qVWnI3+v 不要であるという結論ならば必須派は無駄なことをしていることになる
だが
必要であるという結論ならば不要派がこれまで書いたプログラムがゴミとみなされる
ゆえに必死
だが
必要であるという結論ならば不要派がこれまで書いたプログラムがゴミとみなされる
ゆえに必死
403デフォルトの名無しさん
2014/10/13(月) 11:28:22.88ID:XwZMSYHG404デフォルトの名無しさん
2014/10/13(月) 11:30:56.35ID:BlK6LuSG そんなことより、小沢GOGO!チャイニーズ for see.の意味が分からん。
405デフォルトの名無しさん
2014/10/13(月) 11:58:25.05ID:AG4RYcUu >>401みたいな知能だと生きていくのも大変なんだろうな
406デフォルトの名無しさん
2014/10/13(月) 12:19:26.06ID:93elBZWE407デフォルトの名無しさん
2014/10/13(月) 12:24:50.21ID:XwZMSYHG >>406
書いてみなじゃなくて、教えて下さいだろ、池沼
書いてみなじゃなくて、教えて下さいだろ、池沼
408デフォルトの名無しさん
2014/10/13(月) 12:27:56.27ID:HMQ6z8sD409デフォルトの名無しさん
2014/10/13(月) 12:45:44.40ID:BlK6LuSG 4億3200万ファイル40TBをたかがメモリー10GBのUbuntuで、cp使ってコピー
しようという考えが、頭が悪いという以前に気が狂ってるんだよ。
「UNIXという考え方」などとのたまってそうだよな。
しようという考えが、頭が悪いという以前に気が狂ってるんだよ。
「UNIXという考え方」などとのたまってそうだよな。
410デフォルトの名無しさん
2014/10/13(月) 12:45:52.23ID:zxgBYiLP ヒープに空きを作りたいときに呼ぶ、たったそれだけのこと。
411デフォルトの名無しさん
2014/10/13(月) 12:49:47.31ID:7i+sJhXA >>407
いつもの書けない言い訳乙 w
いつもの書けない言い訳乙 w
412デフォルトの名無しさん
2014/10/13(月) 12:53:11.61ID:BlK6LuSG 空きを作りたい時を決定するのに時間がかかるから、こまめに開放する。
こういう事を書くと、「空きを作りたいときに、配列のサイズ調べるだけだろ?」
みたいなことを言い出す奴が必ず出てくる。
もうアホすぎて話にならない。
こういう事を書くと、「空きを作りたいときに、配列のサイズ調べるだけだろ?」
みたいなことを言い出す奴が必ず出てくる。
もうアホすぎて話にならない。
413デフォルトの名無しさん
2014/10/13(月) 13:03:24.91ID:HMQ6z8sD >>410
空きを作りたいときに破棄できるポインタが常に手元にあるわけじゃないだろうし。
まさかそこでまとめてfreeするために、freeせずに取っておいたポインタを渡すというのも
本末転倒だろうし。
それ以前にそもそも、コードのこの部分を実行するときは空きが必要だがこの部分では
必要ないと判断するのも大変そうだなぁ。さらに、必要なときに空きを作れるようにするには
結局freeするコードは記述しておかなくちゃならんわけだよね。
空きを作りたいときに破棄できるポインタが常に手元にあるわけじゃないだろうし。
まさかそこでまとめてfreeするために、freeせずに取っておいたポインタを渡すというのも
本末転倒だろうし。
それ以前にそもそも、コードのこの部分を実行するときは空きが必要だがこの部分では
必要ないと判断するのも大変そうだなぁ。さらに、必要なときに空きを作れるようにするには
結局freeするコードは記述しておかなくちゃならんわけだよね。
414デフォルトの名無しさん
2014/10/13(月) 13:10:03.92ID:KgL42j04 >>413
したいときに、つってるやん。
理由があってfree呼び出し遅延させたいならそうすればいいし、
とっとと片付けておきたいならすぐ呼び出せばいい。
呼びたきゃいつでも呼んでいいんやで? 望みどおりにすればいい。
したいときに、つってるやん。
理由があってfree呼び出し遅延させたいならそうすればいいし、
とっとと片付けておきたいならすぐ呼び出せばいい。
呼びたきゃいつでも呼んでいいんやで? 望みどおりにすればいい。
415デフォルトの名無しさん
2014/10/13(月) 13:25:54.46ID:BlK6LuSG416デフォルトの名無しさん
2014/10/13(月) 13:30:14.38ID:HMQ6z8sD 要は、一貫したルールはないけど好きなようにやらせろと。まぁ、それは自由だな。
417デフォルトの名無しさん
2014/10/13(月) 13:35:35.68ID:5jSvrI4w418デフォルトの名無しさん
2014/10/13(月) 13:39:26.77ID:BlK6LuSG WindowsのCRTはfreeするとOSがそのメモリを有効に使えるからな。
こういう事書くと、「仮想記憶云々」言い出す奴が必ず出てくる。
もうアホすぎて話にならない。
こういう事書くと、「仮想記憶云々」言い出す奴が必ず出てくる。
もうアホすぎて話にならない。
419デフォルトの名無しさん
2014/10/13(月) 13:49:04.48ID:BlK6LuSG >>417
プログラミングしたことが無いとそう思うんだよ。
「空きを作りたいとき」なんて仕様化できない。
「メモリーの使用量が特定の数値以上になった場合、解放する」
これなら仕様化出来る。
ところが、特定の数値以上になっているかいつ調べるか?ということも
仕様化しないといけなくなる。
これはたいてい、「一定時間経過ごとに」あるいは「メモリー確保の時点で」
となるだろう。
このどちらもいけていない。
オブジェクトの生存期間が過ぎた時点で解放するのが一番いけてるプログラミングマナー。
プログラミングしたことが無いとそう思うんだよ。
「空きを作りたいとき」なんて仕様化できない。
「メモリーの使用量が特定の数値以上になった場合、解放する」
これなら仕様化出来る。
ところが、特定の数値以上になっているかいつ調べるか?ということも
仕様化しないといけなくなる。
これはたいてい、「一定時間経過ごとに」あるいは「メモリー確保の時点で」
となるだろう。
このどちらもいけていない。
オブジェクトの生存期間が過ぎた時点で解放するのが一番いけてるプログラミングマナー。
420デフォルトの名無しさん
2014/10/13(月) 13:57:39.07ID:HMQ6z8sD421デフォルトの名無しさん
2014/10/13(月) 14:02:09.69ID:BlK6LuSG したいときにするって、結局、メモリー確保の時点で使用量見て解放することになるんだよ。
なんで、これから計算を始めるときに、わざわざ仕事増やすのさ。
使わなくなった時点で解放するのがあらゆる面で効率良いんだよ。
なんで、これから計算を始めるときに、わざわざ仕事増やすのさ。
使わなくなった時点で解放するのがあらゆる面で効率良いんだよ。
422デフォルトの名無しさん
2014/10/13(月) 14:03:38.82ID:BlK6LuSG こまめに開放するっていうのも重要だよ。
まとめて一気に解放なんてしたら、ユーザーは処理のもたつきを感じ取るからね。
ホントアホばっかで話にならんわ。
まとめて一気に解放なんてしたら、ユーザーは処理のもたつきを感じ取るからね。
ホントアホばっかで話にならんわ。
423デフォルトの名無しさん
2014/10/13(月) 14:04:57.87ID:TJgILaGW424デフォルトの名無しさん
2014/10/13(月) 14:08:05.29ID:BlK6LuSG >>423
お前、江戸時代だったら切腹申し付けられてるぞ。
お前、江戸時代だったら切腹申し付けられてるぞ。
425デフォルトの名無しさん
2014/10/13(月) 14:14:40.53ID:xQhnOcQ3 >>409
プロセス終了時に無駄にfreeする実装では
メモリ10GBじゃ論外に遅いだけで、freeしない効率的な実装なら
普通に終了するよ?
つまりお前のような馬鹿には効率的なコードは書けないって話だね
プロセス終了時に無駄にfreeする実装では
メモリ10GBじゃ論外に遅いだけで、freeしない効率的な実装なら
普通に終了するよ?
つまりお前のような馬鹿には効率的なコードは書けないって話だね
426デフォルトの名無しさん
2014/10/13(月) 14:16:56.04ID:BlK6LuSG427デフォルトの名無しさん
2014/10/13(月) 14:19:29.20ID:BlK6LuSG 一つ耳寄りな情報を教えてやろう。
WikipediaのXMLアーカイブ。
Emacsでは開けないだろ?
途中で落ちてしまう。
大きすぎるからな。
ワードなら開けるんだこれが。
目から鱗だろ。
WikipediaのXMLアーカイブ。
Emacsでは開けないだろ?
途中で落ちてしまう。
大きすぎるからな。
ワードなら開けるんだこれが。
目から鱗だろ。
428デフォルトの名無しさん
2014/10/13(月) 14:50:19.38ID:jkBcuCq4429デフォルトの名無しさん
2014/10/13(月) 14:53:17.45ID:PPv6Llzm GC の惨状をみるとね‥世間ではあれをうまくいっている、と評価するようだが
430デフォルトの名無しさん
2014/10/13(月) 14:54:54.53ID:PPv6Llzm >>422
そうそうマークアンドスウィープなんかの弱点だね
そうそうマークアンドスウィープなんかの弱点だね
431デフォルトの名無しさん
2014/10/13(月) 15:33:08.72ID:2IfdctYm | ̄| ∧∧
|ニニ( ゚Д∩コ
|_|⊂ ノ
/ _0
(ノ
えっ…と、不毛な糞スレ
\はここかな…、と/
 ̄ ̄ ̄V ̄ ̄ ̄ ̄
∧∧ ∧∧
∩Д゚≡゚Д゚)| ̄|
ヽ |)ニニニ|
| |〜 |_|
∪∪
∧∧ ミ ドスッ おつおつ
( ) ___
/ つ 終了|
〜( /  ̄|| ̄
∪∪ || ε3
゙゙~゙~
|ニニ( ゚Д∩コ
|_|⊂ ノ
/ _0
(ノ
えっ…と、不毛な糞スレ
\はここかな…、と/
 ̄ ̄ ̄V ̄ ̄ ̄ ̄
∧∧ ∧∧
∩Д゚≡゚Д゚)| ̄|
ヽ |)ニニニ|
| |〜 |_|
∪∪
∧∧ ミ ドスッ おつおつ
( ) ___
/ つ 終了|
〜( /  ̄|| ̄
∪∪ || ε3
゙゙~゙~
432デフォルトの名無しさん
2014/10/13(月) 16:11:24.20ID:XwZMSYHG433デフォルトの名無しさん
2014/10/13(月) 16:16:53.59ID:BlK6LuSG GNU製品はホント糞だな。
434デフォルトの名無しさん
2014/10/13(月) 16:17:20.12ID:7i+sJhXA435デフォルトの名無しさん
2014/10/13(月) 16:23:42.16ID:BlK6LuSG436デフォルトの名無しさん
2014/10/13(月) 16:29:31.58ID:xQhnOcQ3 他人に答えを強制するくせに>>428には答えずに逃げる、と
437デフォルトの名無しさん
2014/10/13(月) 16:33:17.28ID:BlK6LuSG438デフォルトの名無しさん
2014/10/13(月) 17:13:00.13ID:HMQ6z8sD >>432
その判断は大域的にならざるを得ないわけだよな。
個々の処理がいつどのように呼ばれるか、さらにはそれより後で実行される処理で
新たなヒープメモリの確保がされるのか、等々、気にしないとならないわけだ。
なんとも前近代的な印象を受けるが。
その判断は大域的にならざるを得ないわけだよな。
個々の処理がいつどのように呼ばれるか、さらにはそれより後で実行される処理で
新たなヒープメモリの確保がされるのか、等々、気にしないとならないわけだ。
なんとも前近代的な印象を受けるが。
439デフォルトの名無しさん
2014/10/13(月) 17:36:51.42ID:Okyxmr/t440デフォルトの名無しさん
2014/10/13(月) 17:39:47.21ID:xQhnOcQ3 >>437
まさかの雑魚以下!?
まさかの雑魚以下!?
441デフォルトの名無しさん
2014/10/13(月) 17:57:02.26ID:XfBY1GST このスレまだあったんだ。
おっさん感激 !!
ところで、Free必須論者は
本質的に寿命がプログラムの寿命と同じオブジェクトが
あるということは認識してくれているのかな。
例えばさっきのcpのハッシュテーブルだったり、
コンパイラの構文木だったり
これらのオブジェクトが必要なくなるとき=プログラムが終了するとき
なんだけど、こんなかんじでfreeして開放された領域が2度と使われないことが
保障されているオブジェクトが存在するということは認識してくれている ?
おっさん感激 !!
ところで、Free必須論者は
本質的に寿命がプログラムの寿命と同じオブジェクトが
あるということは認識してくれているのかな。
例えばさっきのcpのハッシュテーブルだったり、
コンパイラの構文木だったり
これらのオブジェクトが必要なくなるとき=プログラムが終了するとき
なんだけど、こんなかんじでfreeして開放された領域が2度と使われないことが
保障されているオブジェクトが存在するということは認識してくれている ?
442デフォルトの名無しさん
2014/10/13(月) 18:06:04.38ID:7i+sJhXA443デフォルトの名無しさん
2014/10/13(月) 18:11:11.64ID:BlK6LuSG >>441
OSと協調できないのはglibcの欠陥だから、主にLinuxでのみ問題になるんだよね。
Linuxなんか使うからそういう事になるんだよ。
まともなランタイム使ってれば解放して大丈夫だよ。
ホントGNU製品って糞だよな。
糞を一般化して語るなって話。
OSと協調できないのはglibcの欠陥だから、主にLinuxでのみ問題になるんだよね。
Linuxなんか使うからそういう事になるんだよ。
まともなランタイム使ってれば解放して大丈夫だよ。
ホントGNU製品って糞だよな。
糞を一般化して語るなって話。
444デフォルトの名無しさん
2014/10/13(月) 18:15:57.06ID:BlK6LuSG445デフォルトの名無しさん
2014/10/13(月) 18:19:35.33ID:XwZMSYHG446441
2014/10/13(月) 18:24:11.09ID:XfBY1GST447デフォルトの名無しさん
2014/10/13(月) 18:27:48.36ID:7i+sJhXA448441
2014/10/13(月) 18:32:16.15ID:XfBY1GST >>443
オブジェクトの寿命 = プログラム(プロセス)の寿命
なオブジェクトが存在し、それはfreeをしても確保したメモリ領域が
再利用されることはない。
というのはご理解いただいているのですね。
オブジェクトの寿命 = プログラム(プロセス)の寿命
なオブジェクトが存在し、それはfreeをしても確保したメモリ領域が
再利用されることはない。
というのはご理解いただいているのですね。
449デフォルトの名無しさん
2014/10/13(月) 18:33:33.08ID:BlK6LuSG >>446
Linux特有の問題。
いまどきのランタイムはメモリを開放すると即座にOSに返す。
OSは適切に取り扱う。
ところがglibcはOSの機能を使えない。
ディスクに退避されたデータによってスラッシングが引き起こされる。
「だからfreeするべきではない」
↑これ間違い。
欠陥ランタイムを使うべきでないというのが正しい。
Linux特有の問題。
いまどきのランタイムはメモリを開放すると即座にOSに返す。
OSは適切に取り扱う。
ところがglibcはOSの機能を使えない。
ディスクに退避されたデータによってスラッシングが引き起こされる。
「だからfreeするべきではない」
↑これ間違い。
欠陥ランタイムを使うべきでないというのが正しい。
450デフォルトの名無しさん
2014/10/13(月) 18:36:40.23ID:PPv6Llzm >>441
>ところで、Free必須論者は
>本質的に寿命がプログラムの寿命と同じオブジェクトが
>あるということは認識してくれているのかな。
認識してます。
結局のところ C/C++ にしか関係ない些細なことなんです。他の言語はすでにこの手の話は自動化されていますし、うまくいっているとはいいませんが。
>ところで、Free必須論者は
>本質的に寿命がプログラムの寿命と同じオブジェクトが
>あるということは認識してくれているのかな。
認識してます。
結局のところ C/C++ にしか関係ない些細なことなんです。他の言語はすでにこの手の話は自動化されていますし、うまくいっているとはいいませんが。
451デフォルトの名無しさん
2014/10/13(月) 18:38:39.11ID:BlK6LuSG >>448
俺は、きちんとモジュール化するべきだと思うよ。
ハッシュテーブルを実装するなら、テーブルを削除する時点でメモリーも
解放する。
そして、他のプログラムでもそのハッシュテーブル実装を使えるようにする。
メモリーの開放が遅いのはglibcの欠陥。
欠陥品に合わせてすべてを台無しにする必要はない。
欠陥品を使わないことが大切。
まあ、こんな当たり前のことがわからないから雑魚なんですわ。
俺は、きちんとモジュール化するべきだと思うよ。
ハッシュテーブルを実装するなら、テーブルを削除する時点でメモリーも
解放する。
そして、他のプログラムでもそのハッシュテーブル実装を使えるようにする。
メモリーの開放が遅いのはglibcの欠陥。
欠陥品に合わせてすべてを台無しにする必要はない。
欠陥品を使わないことが大切。
まあ、こんな当たり前のことがわからないから雑魚なんですわ。
452デフォルトの名無しさん
2014/10/13(月) 18:39:27.83ID:PPv6Llzm453デフォルトの名無しさん
2014/10/13(月) 18:46:38.76ID:BlK6LuSG454デフォルトの名無しさん
2014/10/13(月) 18:46:52.49ID:7i+sJhXA >>448
そういうケースが存在することはわかってるが、わざわざそんなケースだけを特別扱いすべきとは思わない
測定してみて、本当に解放が問題になる場合に free をやめると言うならわかる
つまり、小手先の最適化と同じレベルの話
そういうケースが存在することはわかってるが、わざわざそんなケースだけを特別扱いすべきとは思わない
測定してみて、本当に解放が問題になる場合に free をやめると言うならわかる
つまり、小手先の最適化と同じレベルの話
455デフォルトの名無しさん
2014/10/13(月) 18:52:40.24ID:BlK6LuSG プログラムの再利用性、安全性を真剣に考えると、RAIIは有効な手法。
これに反対するのは雑魚。
Linuxを使わないことも大事。
Linuxはファイルのコピーすら満足にできないって>>297が述べてる。
これに反対するのは雑魚。
Linuxを使わないことも大事。
Linuxはファイルのコピーすら満足にできないって>>297が述べてる。
456デフォルトの名無しさん
2014/10/13(月) 18:59:10.36ID:MgPuSkFo >>297のケースで有効な解法はメモリプール
これがわからない奴は雑魚
これがわからない奴は雑魚
457デフォルトの名無しさん
2014/10/13(月) 19:06:21.99ID:MgPuSkFo458デフォルトの名無しさん
2014/10/13(月) 19:15:48.89ID:BlK6LuSG459448
2014/10/13(月) 19:19:27.66ID:XfBY1GST >>454
認識が確認できて幸いです。
わざわざそんなケースと言われるけど、
このようなケースは結構多いと思うんですよ。
普段使ってるgccもたぶんそうだし、
cpだってそう。
本質的に記憶領域の再利用がされないfreeをするために
循環参照があるリンクトリストを再帰で開放してまわったり
freeをするための1万回のループをわざわざ書くというのは
なんというか、知的ではないのではないかと
もちろん、ライブラリ化するために、解放処理を記述するのは
必要ですけど、例えばgccの構文木を保持するコードは
gcc以外に使えるとは思えないなぁ。
だから、専用に作ったんでしょ
認識が確認できて幸いです。
わざわざそんなケースと言われるけど、
このようなケースは結構多いと思うんですよ。
普段使ってるgccもたぶんそうだし、
cpだってそう。
本質的に記憶領域の再利用がされないfreeをするために
循環参照があるリンクトリストを再帰で開放してまわったり
freeをするための1万回のループをわざわざ書くというのは
なんというか、知的ではないのではないかと
もちろん、ライブラリ化するために、解放処理を記述するのは
必要ですけど、例えばgccの構文木を保持するコードは
gcc以外に使えるとは思えないなぁ。
だから、専用に作ったんでしょ
460デフォルトの名無しさん
2014/10/13(月) 19:24:40.28ID:PPv6Llzm 変な論法だね‥
「free()/delete してもしなくても状況に大きな変化はない。∴free()/delete しなくてよい。」
と理解していいのかな?
「free()/delete してもしなくても状況に大きな変化はない。∴free()/delete しなくてよい。」
と理解していいのかな?
461デフォルトの名無しさん
2014/10/13(月) 19:27:50.10ID:BlK6LuSG >>459
Linux界隈だとそれでいいんですけどね。
ctagsでインテリセンスより強いとか言ってればいい。
でも、いまどきの人は構文上の誤りは即座に指摘してほしいし、書く端から
補完が効いてほしいですよね。
すると、コンパイラの機能だと思われていたものすらエディタに組み込まれたりするわけですよ。
まあ、Linuxなんか使ってると20年前で時が止まっちゃうんですけどね。
世間ではそういうのを雑魚って言うんです。
Linux界隈だとそれでいいんですけどね。
ctagsでインテリセンスより強いとか言ってればいい。
でも、いまどきの人は構文上の誤りは即座に指摘してほしいし、書く端から
補完が効いてほしいですよね。
すると、コンパイラの機能だと思われていたものすらエディタに組み込まれたりするわけですよ。
まあ、Linuxなんか使ってると20年前で時が止まっちゃうんですけどね。
世間ではそういうのを雑魚って言うんです。
462デフォルトの名無しさん
2014/10/13(月) 19:32:32.92ID:XfBY1GST >>456
その解法がメモリープールというのは、
ハッシュテーブルの領域全体をmallocでとって来て
中身を自前のメモリ管理コードで管理して、
解放するときは全体をfree一発で解放ってことでしょうか ?
malloc-freeはsbrkやmmapで確保した領域を
管理するメモリプールだと考えられます。
ですので、再利用する見込みのない領域をわざわざfreeする必要は
ないんじゃないのって考え方は、
上記の大きな記憶領域を確保して、解放はfree一発というものと
同一になります。
その解法がメモリープールというのは、
ハッシュテーブルの領域全体をmallocでとって来て
中身を自前のメモリ管理コードで管理して、
解放するときは全体をfree一発で解放ってことでしょうか ?
malloc-freeはsbrkやmmapで確保した領域を
管理するメモリプールだと考えられます。
ですので、再利用する見込みのない領域をわざわざfreeする必要は
ないんじゃないのって考え方は、
上記の大きな記憶領域を確保して、解放はfree一発というものと
同一になります。
463デフォルトの名無しさん
2014/10/13(月) 19:36:18.84ID:xQhnOcQ3■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【日本人の旅行離れ】国内旅行すら行けなくなった……オーバーツーリズムだけじゃない 旅行者減少の異常事態 [ぐれ★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★12 [蚤の市★]
- 中国の渡航自粛要請1カ月 大阪の観光バス予約ゼロ、東北にも波及 [蚤の市★]
- 【神戸】エレベーター「かご」なく男性医師が転落死 大手「三菱電機ビルソリューションズ」の担当者、安全装置切り放置か [ぐれ★]
- 【福岡】「人が道路に寝込んでいた。顔面から出血し、うなり声をあげている」 福岡市中央区で男性はねられ死亡 タクシー運転手逮捕 [ぐれ★]
- 女性天皇「賛成」69%、将来の皇位継承「不安」68%…読売世論調査 [蚤の市★]
- 高市、メガソーラー廃止。環境破壊が社会問題化 [792147417]
- クリスマスに何かする「予定なし」は54%。 過去最高水準に。ケーキの値上げもあって節約志向へ [663766621]
- 他人のリクエストで自分の癖と異なる絵を上げる絵師いるじゃん?
- なぜ日本人はフード被らないの?寒いのに
- ワイが考えてるキャラ当ててみろやwww
- 🏡おい!返事しろ︎︎!知的障害者!
