Notices by ikeji (ikeji@ostatus.ikeji.ma), page 78
-
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 12:59:25 JST ikeji @zundan おお、確かに自分の視力以上の解像度はいらないですからね。 -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 11:54:23 JST ikeji 角度あたりの解像度の単位はあるのだろうか?
スマホとデスクトップだとdpiが同じでも、見え方がだいぶ違うよな。 -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 11:27:01 JST ikeji 今月は2G使い切らなかったな。最近ネットが遅いから? -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 11:21:49 JST ikeji いっそ、筆圧検知できるペンが使えるAndroidタブレット買うか!と思ったけど、検索して出てくるやつが高すぎて退散してきた。 -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 11:14:55 JST ikeji 絵を書こうとしたら、アップルペンシルがどっか行った。もう一本買うか? -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 11:02:34 JST ikeji GCの話ししてて、そういやcSRUのGCはどうやって実装したっけ?ってなって、実装したらオブジェクトに自分がルートかどうかのフラグが用意されてた。
しかも、カウンタで。
大味な実装だし、デバッグ用のアサーションが大量にあって苦労が忍ばれる。(覚えてないけど) -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 09:47:07 JST ikeji @tadd こんな感じ? -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 09:31:11 JST ikeji @tadd
なつかしい。
rb_global_variable は rb_gc_register_address のaliasらしい。
https://github.com/ruby/ruby/blob/master/gc.c#L9075
M&S中に、各Decimalインスタンスがマークされる時に、dec_markが呼ばれるから、inumをマークしてるんだね。
例えば、VALUE_PINFというCの変数があって、ここに入ってるVALUEが、GCされてしまうと嫌だから、GCで消さないでおいてね、という。
https://github.com/tadd/decimal/blob/master/decimal.c#L2244
https://i.loveruby.net/ja/rhg/book/images/ch_gc_gcimage.jpg
この絵で、一番上の行に、3つ丸があって、真ん中の丸を黒くマークする時に、
右の丸もマークするのが、rb_gc_markで、
丸を縦線の左に移動するのがrb_global_variable(かrb_gc_register_address)じゃないかな。 -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 03:19:32 JST ikeji ふるさと納税の返礼品は上限があるとして、
ふるさと納税しない人に返礼品をあげることにしたら、上限なかったりしない?In conversation from ostatus.ikeji.ma permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 01:10:30 JST ikeji @tadd s/呼ん/読ん/ In conversation from ostatus.ikeji.ma permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 01:10:09 JST ikeji @tadd https://i.loveruby.net/ja/rhg/book/gc.html
RHG呼んでた。
rb_gc_markはGCの処理の中で呼んでるやつ。
rb_gc_register_addressは、次のGCの時に配慮してくれって頼むやつ。In conversation from social.076.moe permalink Attachments
-
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 01:01:42 JST ikeji @tadd いや、rb_gc_register_address の方のつもりだった。 In conversation from social.076.moe permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 00:31:21 JST ikeji @tadd ピンは、メモリアドレスを変えないという意味も含んでる気がする。 In conversation from social.076.moe permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 00:18:18 JST ikeji @tadd いや、GCの方>いけじが昔「リーク」と書いたのは、isConnectedの方でGCじゃない、であってるかな。
```
var a = {};
var b = {};
a.b = b;
b.a = a;
a = null;
b = null;
```
は、JavaScriptはaもbもGCできる。
しかし、aかbがDOM elementだったら、GCできなくなる。
DOM側は、イベントハンドラに設定されてるJSのオブジェクトがGCされると困るので、イベントハンドラをGCのルートに指定する(ピンする)。
JavaScriptは、イベントハンドラから参照されてるDOM ElementがGCされると困るので、DOM側のGCのルートに指定する(ピンする)。
と、どっちのGCもルートに指定されてるaやbをGCできなくなる。
(ピンするはC#で使われてた用語だった。GCのルートに指定するが正しい?)In conversation from social.076.moe permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 00:10:54 JST ikeji @tadd 関係してそうだね。 In conversation from social.076.moe permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 00:03:44 JST ikeji @tadd false->true->false->trueとかもありえるかも。
たぶん、isConnectedとGCは関係ないかなと思ってる。In conversation from social.076.moe permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Monday, 28-Aug-2023 23:49:06 JST ikeji @tadd そうだね。またisConnectedにしたくなるかもしれないし。 In conversation from social.076.moe permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Monday, 28-Aug-2023 23:46:10 JST ikeji @tadd セーブというのはアプリケーションの話だよね。
セーブするアプリケーションもありえるので、処理系にはわからないと思う。
> 画面上にあるテキストはもはやセーブされない。In conversation from social.076.moe permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Monday, 28-Aug-2023 23:42:05 JST ikeji @tadd あと、ちゃぶだいを引っくり返すようで申しわけないんだけど、
これはDOMのGCとJavaScritのGCが平行してあるのが問題で、
たぶん、Rubyで同じ状況にあると同じようにメモリリークする。
例えば、Gaucheのtcl/tkバインディングは、gaucheのGCとTclのGCが混じってるから、
メモリリークする。
https://github.com/shirok/Gauche-tk#avoiding-leak
で、この2つのGCをまとめて1つにするという解決策があって、
operaはそれを統一してメモリリークを無くする計画だという話を聞いたが、
その後Chromiumベースになったから、今はその計画はなくなったと思う。In conversation from social.076.moe permalink Attachments
-
ikeji (ikeji@ostatus.ikeji.ma)'s status on Monday, 28-Aug-2023 23:32:58 JST ikeji @tadd この「うん」は こっちへのレスね。 > なるほど、何となく分かってきた。textareaがもはやdocumentにつながってないとしてもclicked相当を処理する意味があるし、他にもそういう場合があるよ、ってことであってるかな? In conversation from social.076.moe permalink