[過去ログ]
GCは失敗。メモリは自分で管理せよ! その2©2ch.net (720レス)
GCは失敗。メモリは自分で管理せよ! その2©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1447856699/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
378: デフォルトの名無しさん [sage] 2016/02/10(水) 20:59:51.38 ID:rEABlirv JAVAはクソ http://mevius.5ch.net/test/read.cgi/tech/1447856699/378
379: デフォルトの名無しさん [sage] 2016/02/10(水) 21:00:45.91 ID:ZQ/yQmxu 簡単だよ スレッド立ててGCをフルサイクル実行し続けるだけ http://mevius.5ch.net/test/read.cgi/tech/1447856699/379
380: デフォルトの名無しさん [sage] 2016/02/11(木) 16:22:39.56 ID:vxbPXQEr javaもsandy-bridge以降でSSDとかならそれほど重いってわけじゃないけど 相変わらずatomでeMMCだったりする環境も並行して存在してて そこで動かすと改めて糞だと思うわけよ GCが悪いんじゃなくてjavaランタイムが悪いんだろうけどね http://mevius.5ch.net/test/read.cgi/tech/1447856699/380
381: デフォルトの名無しさん [sage] 2016/02/11(木) 19:04:56.18 ID:EuRhj+pR フラッシュとJAVAは、システムに見つかり次第、速攻アンインストールしている http://mevius.5ch.net/test/read.cgi/tech/1447856699/381
382: デフォルトの名無しさん [sage] 2016/02/12(金) 08:32:20.35 ID:Uwfak+5B >>377 Pythonみたいに参照カウント+GC(循環参照を解放するため)が最強ってこと? http://mevius.5ch.net/test/read.cgi/tech/1447856699/382
383: デフォルトの名無しさん [sage] 2016/02/13(土) 15:34:22.04 ID:OKKAbu21 最近のPC環境でも贅沢が過ぎるプログラムは動かん。 最近の奴だと、Node.jsのパッケージマネージャnpmが`npm search`と初回に打つとパッケージ検索用のインデックスを作ろうとするんだけど、 1つのjsonオブジェクトにまとめようとするからかOOMエラーを吐いて失敗するっていう不具合。 npmに登録されてるパッケージ数が膨大になったせいもあるが、設計を間違えると遅いどころか動かなくなる。 http://mevius.5ch.net/test/read.cgi/tech/1447856699/383
384: デフォルトの名無しさん [sage] 2016/02/13(土) 22:32:48.48 ID:6Xm9VASh GCがある言語でRAIIみたいな事したいのなら loan patten使えばいいだけでは http://mevius.5ch.net/test/read.cgi/tech/1447856699/384
385: デフォルトの名無しさん [sage] 2016/02/13(土) 23:42:47.95 ID:VLo29AwR リソースを共有した上で最後の参照が切れた時点で回収してほしい しかし誰が共有するかもその寿命も実行時までわからない そういう前時代的なダサい設計をした時の話しなんだろ Loan Patternはこの状況では役に立たない http://mevius.5ch.net/test/read.cgi/tech/1447856699/385
386: デフォルトの名無しさん [sage] 2016/02/14(日) 00:56:38.97 ID:mwiD0ozs しかし、言語側は、そういうダサい設計も許さないといけないので マークスイープ系GC搭載で、循環参照が有っても良いことが前提になっている言語で 「使い終わったら自動で即座に開放」を実現するのは困難 そんなことが可能なら、マークスイープは要らないからな http://mevius.5ch.net/test/read.cgi/tech/1447856699/386
387: デフォルトの名無しさん [sage] 2016/02/14(日) 19:42:04.72 ID:I7Qc+kxz 循環参照なんて放置すればいいの どうせプロセスが終了すればOSが開放してくれるの http://mevius.5ch.net/test/read.cgi/tech/1447856699/387
388: デフォルトの名無しさん [] 2016/02/14(日) 20:10:25.23 ID:EqhxGdNa >>387 Windowsのように定期的に再起動しなければいけないソフトウェアができあがっちゃいそう http://mevius.5ch.net/test/read.cgi/tech/1447856699/388
389: デフォルトの名無しさん [sage] 2016/02/15(月) 18:16:17.47 ID:TvNTryet ErlangでOS作るか http://mevius.5ch.net/test/read.cgi/tech/1447856699/389
390: デフォルトの名無しさん [] 2016/02/15(月) 19:50:44.55 ID:L+A+Kd2h そこはRustで http://mevius.5ch.net/test/read.cgi/tech/1447856699/390
391: デフォルトの名無しさん [sage] 2016/03/01(火) 15:00:17.89 ID:QERDe7Jh 5分でわかるガベージコレクションの仕組み https://geechs-magazine.com/tag/tech/20160229 http://mevius.5ch.net/test/read.cgi/tech/1447856699/391
392: デフォルトの名無しさん [] 2016/03/23(水) 02:31:06.32 ID:MFzvJNSi 常識的に考えてカーネルの実装にはGCなんて使えないし 業務アプリケーションではパフォーマンスより開発速度がはるかに重要になる 結局適材適所だ GCを強制されるのは苦痛だが使えないのも苦痛だ 好きな時に使える言語がいいよね! http://mevius.5ch.net/test/read.cgi/tech/1447856699/392
393: デフォルトの名無しさん [sage] 2016/03/23(水) 03:41:39.64 ID:SoMbpeP6 パフォーマンスが問題にならないGCが一つだけあって、それが参照カウンタ方式のGC パフォーマンスが問題にならない→即座に逐一削除できる→RAIIが出来る 非常に強力だがプログラマが循環参照が無いことを保証しなければならない しかし、循環参照が発生する場合は設計段階で分かるのでそれほど深刻では無いのだ! http://mevius.5ch.net/test/read.cgi/tech/1447856699/393
394: デフォルトの名無しさん [sage] 2016/03/23(水) 03:47:03.14 ID:VzK80P8k androidでもう何も判らん状態でプログラミングして それなりに動くのができたからおれは許したよ でもサービスまで勝手に回収されちゃうとは思わなかったわ アホだろグーグル http://mevius.5ch.net/test/read.cgi/tech/1447856699/394
395: デフォルトの名無しさん [sage] 2016/03/23(水) 07:53:14.58 ID:JT2FURwc RAIIに必要なのはデストラクタが呼ばれることであって実際にメモリが解放されることじゃないから GC言語でもRAIIができないわけじゃない。 http://mevius.5ch.net/test/read.cgi/tech/1447856699/395
396: デフォルトの名無しさん [sage] 2016/03/23(水) 10:07:19.06 ID:SB04Y3rp RAIIに必要なのは適切なタイミングで確実に解放処理が呼ばれることであって いつ呼ばれるかわからないデストラクタではだめ http://mevius.5ch.net/test/read.cgi/tech/1447856699/396
397: デフォルトの名無しさん [sage] 2016/03/23(水) 18:24:05.29 ID:jWiL+V+6 かつてStandard MLの実装で、GCじゃないメモリ管理方法をやってみたのがあったな。 コンパイラが全部自動でやるからコードの見た目はSMLなんだけど、いざ動かすとGCより遅かった。 ある程度プログラマがリソース管理のためのヒントを与えないと、GCを捨てられない。 http://mevius.5ch.net/test/read.cgi/tech/1447856699/397
398: デフォルトの名無しさん [sage] 2016/03/23(水) 20:05:29.02 ID:JT2FURwc >>396 おまえが言っているのはファイナライザ。 それと、デストラクタはメモリの解放なんかしないよ。デストラクトするだけ。 http://mevius.5ch.net/test/read.cgi/tech/1447856699/398
399: デフォルトの名無しさん [sage] 2016/03/23(水) 21:43:30.89 ID:SoMbpeP6 この際、呼び名はどうでも良い 参照カウンタ方式以外のGCでは、どこからも参照されなくなったことが、即座にはわからない だから、自動で即座に開放関数を呼び出すことが出来ない→RAIIが出来ない C#で言うところのusingみたいに、プログラマが手動で情報を与えるなら出来る だが、usingはGCでは無い http://mevius.5ch.net/test/read.cgi/tech/1447856699/399
400: デフォルトの名無しさん [sage] 2016/03/24(木) 00:53:54.57 ID:smGLwjga いまさら、ゲームキューブ叩いてどうするんだ? http://mevius.5ch.net/test/read.cgi/tech/1447856699/400
401: デフォルトの名無しさん [] 2016/03/26(土) 05:40:22.28 ID:vD3g1idC >>393 間違い マークスイープのように負荷が集中しないだけでありパフォーマンスへの影響はある 特にツリー状のデータついてルートが削除された時子要素もデクリメントする必要があるため負荷が大きい カウンタはオブジェクト毎に持つためコピーオンライトとの相性が悪い また言語の機能として実装されなければ明示的に行う必要がある(例えばCとか) そのためgcない言語ではマークスイープと比べ非常に面倒なことになる http://mevius.5ch.net/test/read.cgi/tech/1447856699/401
402: デフォルトの名無しさん [sage] 2016/03/26(土) 10:35:48.15 ID:GKwGPSgf androidで原因不明のフリーズが発生、プロジェクトはデスマーチに突入した これだからGCは http://mevius.5ch.net/test/read.cgi/tech/1447856699/402
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 318 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.024s