mark-and-sweepとcopy collectionについての理解と利点

このQ&Aのポイント
  • mark-and-sweepはアクセス可能なセルにmarkを付けてゆき、markのついていないセルをsweepするアルゴリズムです。
  • copy collectionはメモリセル群をworking halfとfree halfにわけ、整理することでメモリの有効活用が可能です。
  • copy collectionはmark-and-sweepよりも高速であり、メモリの整理と効率的なメモリ使用を実現します。
回答を見る
  • ベストアンサー

mark-and-sweepとcopy collection

今日、mark-and-sweepとcopy collectionについて勉強しました。 mark-and-sweepはアクセス可能なセルにmarkを付けてゆき、その後、すべてのセルを調べmarkのついてないセルをsweepするというもの。 copy collectionはメモリセル群をworking halfとfree halfにわけ、workinghalfのセルが多くなってきたら、それをfree halfにコピーしてfree halfに整理する。そして、working halfとfree half を入れ替える。 と解釈しています(間違っていたら訂正お願いします) 今取り組んでいる問題が 「mark-and-sweepはsweep時にタイムロスを起こします。これを解決するためにcopy collectionと呼ばれる方法がとられています。copy collectionがどう動くが説明し、sweep時のタイムロスの問題を解決する以外のcopy collectionの利点を挙げよ」 です。 しかし、いまいちcopy collectionの良さが理解できてません。 mark-and-sweepより速そうなのはわかりますし、copyする際にメモリが整理されるのでメモリセルの有効活用になりそうなのもなんとなくわかるのですが。結局のところ何がよいのでしょうか? どなたかわかる方、アドバイス、補足をいただけないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • noocyte
  • ベストアンサー率58% (171/291)
回答No.1

ガーベージ・コレクションの話なんて久しぶり…. > sweep時のタイムロスの問題を解決する以外のcopy collectionの利点を挙げよ メモリ回収と同時にコンパクションができるため, ・メモリの断片化が解消される. ・リンクされているオブジェクト同士が近くに再配置される可能性が高いので,  次回にそれらのオブジェクトにアクセスする際にキャッシュが効きやすい. …あたりかな. 第5章 ガ-ベージコレクション http://i.loveruby.net/ja/rhg/book/gc.html ガベージコレクション (Wikipedia) http://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%99%E3%83%BC%E3%82%B8%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3 フラグメンテーション (Wikipedia) http://ja.wikipedia.org/wiki/%E3%83%95%E3%83%A9%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3

関連するQ&A

  • A copy of .......

    書類に参考資料として添付書類を付けたいのですがどの表現が文法的に正しいのでしょうか。文の流れはこんな感じです。 Document A states ... Document B states ... そしてこの後に「書類Aと書類BのコピーをExhibit 1として添付します」と言いたいのです。 1. A copy of Document A and Document B is attached as Exhibit 1.(AとBのコピーを一枚ずつなのでA Copyと単数形のIS) 2. A copy of Document A and Document B are attached as Exhibit 1.(AとBのコピーは各一枚なのでA Copyだけど二つの書類のコピーがあるので複数形のARE) 3. Copies of Document A and Document B are attached as Exhibit 1.(2つの書類のコピーがあるのでCopiesと複数、そして動詞も複数形のARE) それぞれの書類を一つづつExhibit 1, Exhibit 2とするのが一番簡単な解決法だとは思うのですが、そうするとExhibitの数が10にも20にもってしまうことがしばしばで、Exhibit番号と添付書類の整理、本文書類が正しいExhibitを参照書類としてあげているかのクロスチェックがとても煩雑になってしまうので、できれば一まとめにExhibit 1としたいのです。 ネイティブの方何人かに聞いてみたのですが、皆さん(悩んだ末)違う答えなのです。宜しくお願いします。

  • COLLECTION からの最終通告 というメール

    非常に困っています!!(><) 「COLLECTION」という出会い系(?)サイトから登録もしていないのに(メールが届くまで存在自体知らなかったのに)メールが届くようになり、あまりに多く届くのでサイトに繋ぎ直接退会希望の旨のメールを以前に出したんです。(面倒だったので心当たりがないなどの事は記載せず「退会希望」のみを書いて)少しして「1週間前後で退会手続きが出来ますが、それまで繋ぐと無効になります」というようなメールが届きその後迷惑メールフォルダ行きにして放置していたのですが、今日迷惑メールホルダを整理しようと開いたところ未だに退会手続きが完了していないので再度繋ぎ退会手続きをしたところ「ゲスト様 最終通告 請求100円の支払いが出来ていないので退会出来ません」と言う様なメールが届きました。「明日中に支払わないと訪問調査をする云々かんぬん・・・」 よくフォルダを見ると昨日も同じメールが来ているようで・・・。これは放置していても大丈夫なんでしょうか?心当たりも無いし、フリーメールではないので非常に困っています。 支払いは当然しなくて良いですよね?後、退会も出来ないのでしょうか? ここ何年もフリーメール以外で何かのサイトに登録した覚えも無いのに迷惑メールが届くのは気持ち悪いので、いっそメールアドレスを変更しようかと思っているのですが、この問題を放置したまま変更しても問題ないでしょうか? 長文で読みにくいかもしれませんが、宜しくお願いします。

  • Exact Audio Copy で書き込みエラー

    Exact Audio CopyでCD-Rに書き込みを行う際、4枚に1枚ほどの割合(25%ほど)で書き込みエラーが生じ、Appsが異常終了してしまいます(エラーMsgのダイアログは添付ファイルをご参照ください>すみません、PC画面全域のハードコピーの方が良かったですね...)。 大量にCD-Rを焼かないといけない事情ある中、廃棄ディスクも無視できないほどの量となっているため、この現象の回避方法をご存じの方おられましたらご助言頂けますよう、宜しくお願いいたします。 異常終了するケースでは、CDイメージの書き込み処理がストップし、まず該当のエラーダイアログが一枚表示されます。次、ダイアログ上唯一のボタン(OKボタン)をクリックすると、同じダイアログ(だと思われる)がズラズラズラと重なり合って10枚(?)ほど連鎖表示され、自動的にEACが落ちてしまいます。 "...Whole-Overflow" というメッセージゆえ、単に書き込み元ファイルの容量が、書き込み先CD-Rの容量をオーバーしたのかと思いきや、外付けCDドライブの電源を一旦OFF→ONしてCD-Rを新しいプレーンディスクに取り替え、ECAをリスタートして再処理すると、正常に書き込み処理が完了してしまうのです。 正常終了は嬉しいものの、いわゆる再起動による原因の消滅ということで、根本的な問題を解決できないまま、かれこれ20枚ものディスクを廃棄してきています。 以下、当方環境を整理させて頂きます。 ・OS: Windows Vista(32bit) ・ソフト: Exact Audio Copy(Ver.1.0 bata 3)      ※取込: IMG取り込み      ※書込: WRI書き込み      ※EACの諸設定はほぼ規定値(理解不足のため) ・ドライブ: Plextor Premium2 ・CDR: 太陽誘電製 That's/2-40x/700MB) ・作業: 音楽CDのバックアップ 以上、どなたかこの問題、および解決方法をご存じの方がおられましたら、ご連絡頂けますよう切にお願い申し上げます。

  • Excel Today()関数の固定化

    書類にToday()関数で日にちを表示させると、翌日には日にちが変わります。 それを関数で入れた日にちに固定したいのです。 他のセルに値でcopyするとExcelルールの数値になります。 例えば、Today()とすると今日は11/2/2017ですので、当然11/2/2017と表示されます。 明日になると11/3/2017と変わります。 それを11/2/2017のままにしたいのです。 Today()で表示した日にち11/2/2017を値でcopyすると43041と表示されます。 43041を日付に戻せれば、多分この問題は解決すると思います。 宜しくご教授ください。

  • sweepにこの様な使い方はありますか?

    中野幾雄著「技術英語攻略法」 (株)工業調査会 発行 のp122で次の作文例と英文がありました。 「吹付け塗装をするときは,ノズルを工作物から約4インチ離して保持し,まっすぐに表面を横切るように動かすこと。」 これの英訳は; When spraying, hold the jet about four inches away from the work and sweep it straight across the surface. そして補足説明として著者は”「動かす」はもはやmoveではない点に注意すること。 sweepは「掃く」と言う他動詞で,庭や部屋などをほうきで掃くとき,隅から隅まであますところなく掃除をするように工作物の表面スプレイする意味である。”と言われています。 私の質問は,調べる限りsweepにはその様な使い方が無い様です。 あるのかも知れませんがメジャーではないように思えます。 例文の場合のつかう動詞として著者の言う通りにsweepで正しいのか,を教えて下さい。 また,一般的であると思われる動詞も教えて下さい。 私はmoveで良いと思うのですが。

  • Look at it this way: what you are g

    Look at it this way: what you are getting from us are two serious attempts. If things don’t work out, you would be out of your investment in us. But we would also be out of an enormous amount of research, time and energy revising your copy for free ? that we could have spent elsewhere working on other, paying clients. こうお考えください: 私どもは、2つの重大な試みをお客様に提供しております。ものごとが解決しない場合、お客様は私どもへの投資をおやめになることでしょう。しかし私どもも他のお客様に費やしていたであろう調査量、時間、エネルギーを、お客様のコピーの訂正に費やしたことでしょう。 と訳しましたが、良くわかりません。まず、仮定法の部分は合っているのか? またwhat you are getting from us are two serious attempts.との繋がりが 意味不明です。よろしくお願いします。

  • SWEEPする?

    タイトル通りですが、スペアナなどを操作しているときに波形をSWEEPする、という言葉がよく使われるそうですが、一体どういう意味でしょうか? 波形整形が目的でよろしいでしょうか?

  • 英文の意味を教えて下さい。

    アメリカのネットショップ小物を購入しました。発送の事で下記のような文章が送られてきましたが、長文過ぎて意味がわかりません。 簡単でいいので意味を教えてくれませんか? > A collection request has been placed with TNT Express. > > Attached is the consignment note that relates to this collection request. > > To view and print the consignment note, you will need the freely available document viewer, Adobe Acrobat Reader, version 5.0 or later. If you have any problems reading the attachment, download your free copy from the Web. To download, go to: > > http://www.adobe.com/products/acrobat/readstep.html > > Please print off all copies of the consignment note and ensure you have read our terms and conditions, which are also attached and applicable hereto, before signing each copy of the consignment note, whereby you confirm to have fully accepted said terms and conditions. > > When the TNT representative arrives to collect your consignment, please hand over all copies of the consignment note with the exception of the Sender copy. (Retain this copy for your own reference). > > For enquiries, please do not respond to this Email but contact your local Customer Services department on 0800 100 600.

  • 違うシートにコピー&ペースト

    EXCEL2000を使っているのですが、以下のような問題で悩んでいます。 sheet1のF7セルにある値をsheet2のC1セルにコピーしたくて、先ずマクロの記録で行ったところ以下のようなコードが出来ました Range("F7").Select Selection.Copy Sheets("Sheet2").Select Range("C1").Select ActiveSheet.Paste 実際出来たマクロの実行をすると問題なく動くのですが、shee1にコマンドボタンを配置してそれに上記のコードを記入すると「Range("C1").Select」の個所で止まってしまいます。 上の問題だけを解決するのでしたら代入式を使って解決できるのですが、実際には上の形を応用したものになるので、コピーしたものを貼り付けるという形式はどうしても取りたいのです。 何か解決方法はあるのでしょうか?宜しくお願いします

  • JZX81MARK2についてなんですが・・・

    タイヤを履き替えようと思うんですが、どのくらいのサイズまで履かせられるか?友達に聞いたら215ぐらいまでじゃないかって言われたんですけど。17インチをはかせたらすごいぶかっかっうになるっていわれたんですけどそうなるんですか?不恰好にならないのなら215~255・45~40の17をはかせたいと思っています。