「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧
「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧
Mozilla を大書き換えする Mozilla2 プロジェクトの目標設定はえらく野心的で, 2004 年から話があるのに当分終わりそうにない. 傍目にそりゃ無理だろという目標も多い. XPCOMGC なんていかにも無謀だ. 参照カウントをやめて JavaScript と同じ GC を使おうぜという話. JS と C++ のオブジェクトが混ざっても平気だよ...と言われても困る. 数百万行ある Mozilla 相手にそんな書き換えを敢行するとは, ロケット科学を通りこして魔術的だと言っていい. それが無理だからこそ C++ は呪われた言語で, Microsoft も逃げだしたんじゃなかったの? そんな外野の心配を他所に, Mozilla のプログラマ Benjamin Smedberg は Boehn GC と jemalloc くっつけたいんだけど良いアイデアない? なんて話をしている.
前編でブクマコメントや日記コメントで どうしたら循環参照によるリークを回避できるのかを説明してほしい PHP 5.3 で cycle collector が搭載されることについてのフォローが欲しい という意見があったので、それも順次取り上げていくことにする。 本当はこれを後編としたかったんだけど、どんどん詰め込みたい内容が増えているので、勝手ながら一旦切って中編、後編の 2 本立てとさせてもらおう。 SpiderMonkey と XPCOM のガーベジコレクション さて、cycle collector というと Firefox 3 から搭載されるということで気になっている人も多いと思われるので、まずは SpiderMonkey (JavaScript の Mozilla での実装) ではどのような GC (ガーベジコレクション) が行われるのかを見てみたい。 基本的に、SpiderMonk
たまにはちゃんと書いたほうがいいかなと思って書いてみる。 あらまし 原始的な参照カウントベースのガーベジコレクションは、循環参照が発生すると、その参照に含まれるオブジェクトを回収できないという厄介な問題を抱えている。循環参照とは、1つ以上のオブジェクトが環状の参照関係を形成している状態のことで、このような参照を持つオブジェクトは、やがてルート (ある時点で言語ランタイムが管理しているすべてのスコープと考えてもいい) から辿りつけなくなって、解放されずにリークしてしまう。 この問題はいろんな LL 言語に見られる。 Perl の場合 use Devel::Peek qw(Dump); sub make_circular { my $foo = {}; my $bar = {}; my $baz = {}; $foo->{'bar'} = $bar; $bar->{'baz'} = $baz;
GCを強制的に起動する方法について追記しました(4/8) fladdictさんのAS3でガベージコレクションを見張る画期的方法メモにて、 弱参照のDictionaryのオブジェクトキーを利用して、対象のオブジェクトがガベッジコレクションされたかどうかを見張ることができるんじゃね?? という面白そうなお題があがっていたので実装、検証を行ってみました。 検証のために実装したクラスGCWatcherには、次の二つの機能があります。 GCが起動した場合にGARBAGE_COLLECTイベントを発行する 監視したオブジェクトを監視リストに追加し、GCに回収された場合にCHANGEイベントを発行する このクラスを使うと、fladdictさんがエントリー中で書いていた、 onGarbageCollection イベントを発行できるし、DictionaryのキーをダンプすればGCされそこねたオブジェクトの
ガベージコレクションの話を続けよう。 前回の記事で、Objective-C 2.0のガベージコレクションの特徴を一言で言い表してみた。もう一度書いておこう。 Objective-Cのガベージコレクションは、保守的であり、マーク・アンド・スイープでコレクションを行い、コピーは行わず(ゆえにコンパクションも行わない)、世代別コレクションをサポートする と、なる。今回はこの文のうち、「マーク・アンド・スイープ」について説明しよう。 マーク・アンド・スイープとは ガベージコレクションは不必要なメモリを自動的に解放してくれる仕組みだが、そのためには、どのメモリ領域が必要で、どこが不必要(つまりゴミ)であるかを判断し、それらのゴミを回収しなくてはいけない。このゴミ集めのアルゴリズムが、ガベージコレクションの性能を決めることになる。 Objective-C 2.0で採用されているアルゴリズムは、マーク・
2008年最初の、ダイナミックObjective-Cの更新だ。今年もよろしくお願いします。 振り返ってみると、2007年はLeopardとObjective-C 2.0が登場した、動きの多い年だった。今年は、それらの新技術を取り込み、消化して、実践の場に移す年になるだろう。また、iPhone SDKの登場も予告されている。新たなObjective-Cプラットフォームの誕生だ。パソコンだけでなく、モバイル機器にもObjective-Cの活躍の場は広がっていくことになるだろう。 では、ガベージコレクションの話を続けよう。今回は、Objective-C 2.0に実装されているガベージコレクションが、どのような性質のものに分類されるのか調べてみる。 Objective-Cガベージコレクションの性質 Objective-Cという言語にガベージコレクションを導入する場合、考慮するポイントは、2つ挙げる
GCアルゴリズム詳細解説 日本語の資料がすくないGCアルゴリズムについて詳細に解説します トップページページ一覧メンバー編集 GC 最終更新: author_nari 2010年03月14日(日) 20:47:11履歴 Tweet このWikiが目指す所 GCとは? GCを学ぶ前に知っておく事 実行時メモリ構造 基本アルゴリズム編 Reference Counter Mark&Sweep Copying 応用アルゴリズム編 IncrementalGC 世代別GC スナップショット型GC LazySweep TwoFinger Lisp2 Partial Mark and Sweep -Cycle Collection- Mostly Parallel GC train gc MostlyCopyingGC(Bartlett 1989) TreadmillGC(Barker 1992) 補足
<< 2006/10/ 1 1. [教会] お休み 2. 実家 2 1. U-20プロコン表彰式 2. インタビュー 3. Job Trends: ruby programmer 3 1. インタビュー 2. [OSS] OSS コンサル会社が設立 3. [Ruby] Rubyの生産性の高さはどこまで本当か? 4. [Ruby] block parameter to be local variables 5. ジョブズ氏のいないアップルが来る日--IT企業が直面する「後継者選び」 4 1. 即興トーク 2. [OSS] ソフトエイジェンシー、MySQL 開発者が直接サポートするサービスを開始 3. [OSS] Seasarは鶏か卵か? - ひが氏、キャズム越え柔道ストラテジ語る 4. 『現代という時代は、どのようなプログラミングを求めているのか? 5 1. [Ruby] Ruby on R
Lay out your workspace on the fly, browse the web with focus, and even mirror your iPhone wirelessly. And Apple Intelligence helps you simplify and accelerate tasks big and small. Apple Intelligence On Mac models with Apple silicon, macOS Sequoia introduces Apple Intelligence, which draws on your personal context to give you intelligence that’s most helpful and relevant for you. Available now* Lea
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く