タグ

GCに関するpotato777のブックマーク (29)

  • Island Life - GC切って性能向上

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...ループを使わずに1から100までMore... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチ

    Island Life - GC切って性能向上
    potato777
    potato777 2017/03/01
  • Heroku Proxying becomes Free Software | Heroku

  • (翻訳) Ruby 2.2 のシンボル GC - FIVETEESIXONE

    Ruby 2.2 の新機能にシンボル GC というものがあります。 正直、「え、シンボルって GC されないから速いんじゃないの?なのにシンボル GC で Rails が速くなるとか話聞くけど、いったいどういうことなの?」という感じでサッパリ理解できてなかったのですが、その辺りの疑問に対してまとめられている記事がありました。 Symbol GC in Ruby 2.2 とても分かりやすく素晴らしい記事だと感じたので、許可をもらって以下に日語訳を公開します。 Symbol GC in Ruby 2.2 シンボル GC ってなに?それって気にしなくちゃいけないことなの? リリースされたばかりの Ruby 2.2 の大きな新機能として「インクリメンタル GC」が挙げられますが、もう1つの注目すべき新機能が、この「シンボル GC」 です。 もしあなたがこれまで Ruby の世界で過ごしてきたのな

    (翻訳) Ruby 2.2 のシンボル GC - FIVETEESIXONE
  • Composer – Disable GC when computing deps and refs | Hacker News

    For those looking for a technical explanation, the PHP garbage collector in this case is probably wasting a ton of CPU cycles trying to collect thousands of objects (a LOT of objects are created to represent all the inter-package rules when solving dependencies) during the solving process. It keeps trying and trying as objects are allocated and it can not collect anything but still has to check th

  • 日本語訳: Ruby 2.1: Out-of-Band GC — sawanoboly.net

    @azukiwasher さんからRuby2.1のGCについて解説されている記事の日語訳を頂きました。 『WEB+DBRuby 2.1 特集を読んでたら、ガベージコレクション(RGenGC)の説明で参照されてた記事の次の記事がためになったので訳してみた。』 Vol.79ですね。 ソース Ruby 2.1: Out-of-Band GC · computer talk by @tmm1 Ruby 2.1: Out-of-Band GC Ruby 2.1 で GC は以前よりずっとマシになったが、相変わらず "Stop The World" な実装に変わりはない。リクエスト処理中にコレクションが始まると、リクエストへの応答時間に遅延が生じる。遅延を緩和する方法のひとつにリクエストとリクエストの間に GC を走らせる、いわゆる「Out-of-Band」がある。 OOBGC はよく知られた

  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist

  • Getting Started with the G1 Garbage Collectorの日本語訳

    書は次の英文資料を日語訳したものです。 l  「Getting Started with the G1 Garbage Collector」 不備や質問がありましたら、訳者にご連絡いただければ幸いです。 2013/03/16 湊  隆行 turbo[at]minato.tv Overview | 概要 Purpose | 目的 このチュートリアルでは、G1 ガーベジコレクタの基的な使用方法と、Hotspot JVMにおけるG1ガーベジコレクタの使われ方を説明します。またG1 ガーベジコレクタの内部機能、コマンドラインオプション、および、ログに関するオプションについて説明します。 Time to Complete | 完読時間 およそ1時間。 Introduction | はじめに このOBE (Oracle by Example)では、Java仮想マシン(JVM)および G1 ガーベ

    Getting Started with the G1 Garbage Collectorの日本語訳
  • Symbol GC

    This document summarizes Narihiro Nakamura's presentation on symbol garbage collection in Ruby. It describes the problem that symbols are currently uncollectable in Ruby and outlines an idea to make symbols collectable by differentiating between immortal symbols and mortal symbols. Immortal symbols would refer to symbols used in the C layer like method names, while mortal symbols like those genera

    Symbol GC
  • GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)

    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 Pa

    GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)
    potato777
    potato777 2014/08/14
  • Feature #9634: [PATCH]Symbol GC - Ruby master - Ruby Issue Tracking System

    I've written a patch to collect most symbols. PATCH: https://github.com/authorNari/ruby/compare/4a91fb7a45f0e3c...symbol_gc.patch Summary¶ Most symbols in Ruby level are GC-able(generated by #to_sym, #intern, etc..) Exclude a symbol which is translated ID in C-level from GC-able symbols Keep Ruby's C extension compatibility Pass make test-all Benchmark¶ A benchmark program is here. obj = Object.ne

    potato777
    potato777 2014/08/11
    Ruby2.2.0から
  • http://software.fujitsu.com/jp/technical/interstage/apserver/guide/pdf/reference-gc.pdf

    potato777
    potato777 2014/08/11
    参照なし、強参照、弱参照、ソフト参照、ファントム参照の違いによるGCコストなど。
  • Ruby 2.1: Out-of-Band GC · computer talk by @tmm1

    29 Jan 2014 Ruby 2.1's GC is better than ever, but ruby still uses a stop-the-world GC implementation. This means collections triggered during request processing will add latency to your response time. One way to mitigate this is by running GC in-between requests, i.e. "Out-of-Band". OOBGC is a popular technique, first introduced by Unicorn and later integrated into Passenger. Traditionally, these

  • Visualising the Go garbage collector | Dave Cheney

    Update this post is also available in Japanese. This is a post about an experimental tool that I have been working on. gcvis is a simple way of visualising the operation of the garbage collector within a Go process. Here is a screenshot of it in operation. The rest of this article explores how gcvis works and how to interpret its results. How does gcvis get the data ? There are a few ways you can

  • 言語の GC 機能と参照カウント (後編-1) - moriyoshiの日記

    追記: 最後の図の「C」の参照カウントが 1 ではなく 2 になっていたのを修正 次回は cycle collector の実装と、回避方法について書く予定。 言語の GC 機能と参照カウント (中編) と 2008 年の 5 月 31 日に書き残して早 1 年と 2 ヶ月を迎えようとする中の後編です。 Cycle collector の実装方法について Bacon らによる「Concurrent Cycle Collection in Reference Counted Systems」という論文が有名と思われる。この論文では、まず同期的な cycle collector の実装の改善について述べ、さらにそれを非同期的な方式へ拡張する方法について述べている。今回は、最初の同期的な方法のアルゴリズムについてのみ見ていく。 基的には mark and sweep 論文には以下のような説明と

    言語の GC 機能と参照カウント (後編-1) - moriyoshiの日記
    potato777
    potato777 2014/05/07
  • 言語の GC 機能と参照カウント (中編) - moriyoshiの日記

    前編でブクマコメントや日記コメントで どうしたら循環参照によるリークを回避できるのかを説明してほしい PHP 5.3 で cycle collector が搭載されることについてのフォローが欲しい という意見があったので、それも順次取り上げていくことにする。 当はこれを後編としたかったんだけど、どんどん詰め込みたい内容が増えているので、勝手ながら一旦切って中編、後編の 2 立てとさせてもらおう。 SpiderMonkey と XPCOM のガーベジコレクション さて、cycle collector というと Firefox 3 から搭載されるということで気になっている人も多いと思われるので、まずは SpiderMonkey (JavaScript の Mozilla での実装) ではどのような GC (ガーベジコレクション) が行われるのかを見てみたい。 基的に、SpiderMonk

    言語の GC 機能と参照カウント (中編) - moriyoshiの日記
    potato777
    potato777 2014/05/07
  • 言語のGC機能と参照カウント (前編) - moriyoshiの日記

    たまにはちゃんと書いたほうがいいかなと思って書いてみる。 あらまし 原始的な参照カウントベースのガーベジコレクションは、循環参照が発生すると、その参照に含まれるオブジェクトを回収できないという厄介な問題を抱えている。循環参照とは、1つ以上のオブジェクトが環状の参照関係を形成している状態のことで、このような参照を持つオブジェクトは、やがてルート (ある時点で言語ランタイムが管理しているすべてのスコープと考えてもいい) から辿りつけなくなって、解放されずにリークしてしまう。 この問題はいろんな LL 言語に見られる。 Perl の場合 use Devel::Peek qw(Dump); sub make_circular { my $foo = {}; my $bar = {}; my $baz = {}; $foo->{'bar'} = $bar; $bar->{'baz'} = $baz;

    言語のGC機能と参照カウント (前編) - moriyoshiの日記
    potato777
    potato777 2014/05/07
  • ガベージコレクションのアルゴリズムと実装

    ガベージコレクションのアルゴリズムと実装 中村 成洋, 相川 光, 竹内 郁雄(監修) 達人出版会 1,045円 (950円+税) GCについて初めて日語で書かれた技術書です。前半部分でアルゴリズムをわかりやすく解説し、後半は複数の言語処理系の実装を読み解いていきます。GCの理論と実際の利用方法を学べる書籍です。 内容紹介書は次の2つのテーマを扱います。 GCのアルゴリズム(アルゴリズム編)GCの実装(実装編)アルゴリズム編では、これまでに考案されてきた数多くのGCアルゴリズムの中から、重要なものを厳選して紹介します。伝統的かつ基的なものから、やや高度なアルゴリズムを選定しています。GC独特の考え方や各アルゴリズムの特性などを理解していただくのがアルゴリズム編の最大の目的です。 実装編では、筆者らが選定した言語処理系のGCを読み進めていきます。アルゴリズム編では理論をしっかり学び、実

    ガベージコレクションのアルゴリズムと実装
    potato777
    potato777 2013/12/26
  • Effectively managing memory at Gmail scale  |  Articles  |  web.dev

    Effectively managing memory at Gmail scale Stay organized with collections Save and categorize content based on your preferences. Introduction While JavaScript employs garbage collection for automatic memory management, it is not a substitute for effective memory management in applications. JavaScript applications suffer from the same memory related problems that native applications do, such as me

    Effectively managing memory at Gmail scale  |  Articles  |  web.dev
  • RubyとPythonの違いからガベージコレクタを理解する - ワザノバ | wazanova.jp

    http://patshaughnessy.net/2013/10/24/visualizing-garbage-collection-in-ruby-and-python Pat Shaughnessyが、ブタペストで開催されたRUPY2013でのプレゼンの前半を自らのブログで紹介しています。 ガベージコレクタは、「ゴミを集める」という行為だけでなく、「新しいオブジェクトのためにメモリをあてがう。」「不要なオブジェクトを見つける」「不要なオブジェクトからメモリを取り戻す。」という、人間の心臓が血液を浄化するような働きをしている。 この簡単なコードサンプルを見ると、RubyPythonの記述はよく似ているが、それぞれの言語の内部でのインプリの仕組みは違う。 1) Rubyのメモリ Rubyは、コードが実行される前に、数千のオブジェクトを先につくり、それをリンクされたfree listに置

  • Erlang GC メモ | cooldaemon's memo

    プロセス同士が共有メモリを持たないのでプロセス毎に GC を持てる プロセスが終了したら、難しい事を何も考えずに即時 Heap が解放される メモリを大量消費する処理をプロセスに閉じ込めるという戦略が有効(終了 = 解放) receive 等でプロセスが中断すると GC も止まる プロセスが中断していても erlang:hibernate/3 で GC を強要できる spawn_opt でプロセス起動時の Heap を調整できる プロセスが終了間際に 200K の Heap を持っていると解っているなら、始めから 200K にしておくと Heap を増やす負荷を下げられる プロセス起動時は Compacting GC (当か?) プロセスが確保している Heap が大きくなると Generational GC に切り替わる (境目はどこだ?) 64 バイトを超えるバイナリデータは、Hea