タグ

gcに関するmas-higaのブックマーク (17)

  • CRubyはどうやってWebAssemblyに移植するか? 例外処理・Fiber実装・保守的GC…足りないパーツを埋めるAsyncifyの活用

    プログラミング言語Rubyの国内最大級のカンファレンス「RubyKaigi」。「RubyKaigi 2022」のKeynoteで登壇したのは、齋藤優太氏。「Ruby meets WebAssembly」のテーマで、WebAssembly上でRubyが動くようになった経緯、テクニック、ユースケースについて発表しました。全2回。後半は、WebAssemblyのユースケースについて。前回はこちら。 WASIでCRubyWebAssemblyにポートする方法 齋藤優太氏:ここまでが前半戦で、ここからどうやってCRubyWebAssemblyにポートしたかを紹介します。 CRubyはCで書かれたプログラムなので、すでにいろいろな環境にポートされています。このCRubyのソースコードは、かなりポータブルに書かれているので、CからWasmにコンパイルするコンパイラもあるしポーティングは簡単だなと。

    CRubyはどうやってWebAssemblyに移植するか? 例外処理・Fiber実装・保守的GC…足りないパーツを埋めるAsyncifyの活用
  • Yuta Saitoさん「RubyはWebAssemblyと出会った」 〜RubyKaigi 2022 1日目キーノート | gihyo.jp

    RubyKaigi 2022 キーノートレポート Yuta Saitoさん「RubyWebAssemblyと出会った」 〜RubyKaigi 2022 1日目キーノート 9月8日から9月10日までの3日間RubyKaigi 2022が三重県津市で開催されました。今年はRubyKaigi 2019以来、3年ぶりの現地開催で非常に盛り上がったカンファレンスとなりました。 初日のキーノートではRubyコミッターのYuta Saitoさんが「Ruby meets WebAssembly」というタイトルで発表しました。 Saitoさんはインターネット上では主に@kateinoigakukunという名前で活動しており、Swiftコミッターとしてもよく知られたエンジニアです。CRubyWebAssembly移植を進め、2022年1月にRubyコミッターとなっています。今回のキーノートはCRubyのW

    Yuta Saitoさん「RubyはWebAssemblyと出会った」 〜RubyKaigi 2022 1日目キーノート | gihyo.jp
  • Cassandraのストレージエンジンを入れ替えて高速化した「Rocksandra」、Instagramがオープンソースで公開。Javaのガベージコレクションによる遅延を大幅に解消

    Cassandraのストレージエンジンを入れ替えて高速化した「Rocksandra」、Instagramがオープンソースで公開。Javaのガベージコレクションによる遅延を大幅に解消 Instagramは、NoSQLデータベースのCassandraで発生していたJavaのガベージコレクションに起因する遅延を解消し、高速化した改良版Cassandraをオープンソースで公開したと発表しました。 ストレージエンジンとしてキーバリューストアの「RocksDB」を用いたことから、同社はこの改良版Cassandraを「Rocksandra」と呼んでいます。 JavaのガベージコレクションがCassandraの遅延を発生させている 同社がRocksandraの開発に至った経緯は、エンジニアブログ「Open-sourcing a 10x reduction in Apache Cassandra tail

    Cassandraのストレージエンジンを入れ替えて高速化した「Rocksandra」、Instagramがオープンソースで公開。Javaのガベージコレクションによる遅延を大幅に解消
  • RubyとPythonにおけるガベージコレクションの視覚化 | POSTD

    稿は、ブダペストで開かれたイベント「 RuPy 」で、Pat Shaughnessyが披露したプレゼンの内容をまとめたものです。 プレゼンの映像はここ から視聴できます。 稿は当初、 同氏の個人ブログ に投稿されましたが、同氏の了承を得て、Codeshipに再掲載します。 このイベントは「RubyPython」に関するカンファレンスなので、RubyPythonでは、ガベージコレクション(以下「GC」)の動作がどう違うのかを比較すると面白いだろうと私は思いました。 ただしその題に入る前に、そもそもなぜ、GCを取り上げるのかについてお話しします。正直言って、すごく魅力的な、わくわくするテーマではないですよね? 皆さんの中でGCと聞いて、心がときめいた方はいらっしゃいますか? [実はこのカンファレンス出席者の中で、ここで手を挙げた人は数名いました!] Rubyコミュニティで最近、Rub

    RubyとPythonにおけるガベージコレクションの視覚化 | POSTD
    mas-higa
    mas-higa 2015/08/06
    やっぱり python は性に合わない
  • Ruby の高速化の道。 - だいありー

    pwd が何の略か? ということを聞かれた。確かに答えられない。 http://www.abbreviations.com/pwd の中で working directory を含むものをピックアップすると、 Print Working Directory Present Working Directory Path of Working Directory の3説が見つかる。 man を見ても、あんまりしっくりこない。なんで cwd (current working directory)にしなかったんだろう? system call は getcwd(2) なのに。 昨日の続き。 早速中田さんが r49614 を入れてくれて、こういう a, b = x, y の時には、 push x # stack: x push y # stack: x y newarray 2 # stack: [

  • ガベージコレクションのアルゴリズムと実装

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

    ガベージコレクションのアルゴリズムと実装
    mas-higa
    mas-higa 2013/12/25
    epub あるやん! [あとで買う] 著者近影よい。
  • Javaのパフォーマンスについての9つの誤信

    JVMはプロファイリングを利用してコードの最適化を行います。対象は頻繁に利用されるコードパスのみですが,徹底的に行うことで大きな効果を上げています。JITコンパイルされたコードに関しては,現在では多くの場面において (その割合も増えつつあります) C++の実行速度を凌駕しています。 このような事実にも関わらずJavaが今でも低速なプラットフォームとして認識されているのは,おそらくは初期バージョンのJavaプラットフォームでの経験が,歴史的な負のバイアスとして働いているためでしょう。 早まった結論を出す前に,客観的な見地に立って,最新のパフォーマンス結果を評価するようにお勧めします。 2. Java コードの1行にはそれ自体で意味がある 次の短いコード行を考えてみてください: MyObject obj = new MyObject(); Java開発者ならば誰でも分かるように,このコードはオ

    Javaのパフォーマンスについての9つの誤信
  • Ruby の GC の問題点と改善手法についての一考察

    Ruby の GC の問題点と 改善手法についての一考察 A study on issues and improvements on Ruby’s Garbage Collection Koichi Sasada Heroku, Inc. ko1@heroku.com 1 自己紹介  所属  Asakusa.rb(初期から)  Ruby Association(理事)  日 Ruby の会(一般会員)  Heroku, Inc.(MTS)  Ruby(CRuby/MRI)コミッタ • 趣味Ruby を書いています • 仮想マシンなどの基盤部分の担当 • コミット数は少ない 2 Ruby 2.0.0 Release!!  Ruby 2.0.0 was released!!  2013/02/24 (20th anniversary of Ruby lang.)  Ru

  • Garbage Collection Advent Calendar 2012 - Adventar

    Garbage Collectionにかんすることならなんでも!

    Garbage Collection Advent Calendar 2012 - Adventar
    mas-higa
    mas-higa 2012/12/03
    なにこの無双
  • 例えば GC を止める・Ruby ウェブアプリケーションの高速化 - 2nd life (移転しました)

    最近クックパッドでは、アプリケーションサーバの大半が Rails 2.3 から Rails 3 に置き換わったのですが*1、リリース前のベンチマークの時点ではあまりパフォーマンスが出ず四苦八苦していました。具体的には Rails 2.3 の時と比べ MRI 1.8.7 だとレスポンスタムが200%ぐらい遅い結果でした。Rails 3 になって実装が Merb core を取り入れ疎結合で綺麗になった反面、より多くのオブジェクトと・メモリを利用する様になった影響かと思います。 そこで Ruby インタプリタの変更*2を行い検証をしたところ MRI 1.8.7 (Rails 2.3と比べ) 約200%遅い MRI 1.8.7 -> Ruby Enterprise Edition 1.8.7 2011.03 (tcmalloc 無効) 約180%低速 MRI 1.8.7 -> Ruby Ente

    例えば GC を止める・Ruby ウェブアプリケーションの高速化 - 2nd life (移転しました)
  • 『徹底解剖「G1GC」 アルゴリズム編』発売!! - I am Cruby!

    g1gcGCLoverのみなさん、お待たせしました。 GCのスピンオフとなる新著、『徹底解剖「G1GC」 アルゴリズム編』が発売中です! 達人出版会様の以下のページからご購入下さい。 なんと600円です!!! もうすぐにでもポチっちゃってください!!!!! 徹底解剖「G1GC」 アルゴリズム編 - 達人出版会 どういう内容なの?まえがきをみるとよくわかります。 今回はOpenJDK7(いわゆるJava7)に新しく実装された「G1GC(Garbage First Garbage Collection)」というGCの謎を解明していきます。 G1GCの大きな謎として「GC停止時間を予測できる」というのがあります。書 ではその謎の回答を何十ページもかけて解説しています。 G1GCについて書かれた資料として、Detlefsらの英語の論文(Detlefs04)があ ります。 ところが、これは謎

  • ガベージコレクションのアルゴリズムと実装読書会 - mnishikawaのブログ

    ガベージコレクションのアルゴリズムと実装読書会に参加してきました。 http://github.com/ujihisa/nari.gc/blob/master/README.md 「ガベージコレクションのアルゴリズムと実装」をみんなで読んで、疑問に思ったところを筆者も交えて議論するというマニアックな勉強会。 私もガベージコレクション(GC)の実装にはほとんど興味が無かったのですが、とにかくこのがすごい。GCの解説に留まってなくて、「実装」にかなりの割合を割いています。Python,DalvikVM(Android),Rubinius,V8といった、実際の言語処理系のコードをじっくり追いかけるというアプローチをとっている。たとえ、GCにあまり興味が無くても、GCという一つの根幹部分の実装を切り口にして、処理系の設計ポリシーやメモリ管理で知っておきたいことを読み取れる。例えば、言語処理系に限

    ガベージコレクションのアルゴリズムと実装読書会 - mnishikawaのブログ
  • http://cappuccino.jp/keisuken/logbook/20100508.html

  • GC本のツクリカタ - ガベージコレクションのアルゴリズムと実装読書会 in 大阪 - I am Cruby!

    GC 発表資料GCのツクリカタ イベント情報以下のページにまとまっていくと思います。http://wiki.github.com/ujihisa/nari.gc/ 感想参加者が40人を越えたのがびっくりでした。みんなGCのために集まってくれてるのかと思うとちょっともう言葉も出ないくらい感動してしまって。懇親会では帰りの都合もあってお先に帰らせてもらったのですが、帰るときにみなさんに拍手してもらったのも嬉しかったです。「を書いてよかったなー」と心底思いました。 やっぱし、しんどいぶんだけ、いいことがありますね!!  謝辞が出てすぐに「読書会やりましょう!」と言ってくださり実行してくれた@ujmさん、参加していただいたみなさんに感謝します。

  • 「ガベージコレクションのアルゴリズムと実装」という本を書きました。

    gcbook, gcai, GCGCLoverのみなさん、お待たせしました。「ガベージコレクションのアルゴリズムと実装」の情報公開です。 書名:ガベージコレクションのアルゴリズムと実装 著者:中村 成洋/相川 光 監修:竹内 郁雄 ページ数:472ページ 体価格:3,200円 発売開始日:2010年3月17日(水) ※地域・書店によって遅れることがあります ISBN:978-4-7980-2562-9 C3055 読み所 書は次の2つのテーマを扱います。 1.GCのアルゴリズム(アルゴリズム編) 2.GCの実装(実装編) アルゴリズム編では、これまでに考案されてきた数多くのGCアルゴリズムの中 から、重要なものを厳選して紹介します。伝統的かつ基的なものから、やや 高度なアルゴリズムを選定しています。GC独特の考え方や各アルゴリズムの特 性などを理解していただくのがアルゴリズム編の最大

    mas-higa
    mas-higa 2010/03/04
    amazon にはまだない? 「本の帯をRuby作者のまつもとさんに書いていただきました」でた! 帯職人。
  • 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(ウィキ)
    mas-higa
    mas-higa 2008/11/04
  • ガベージコレクションの実装法と評価

    1.はじめに プログラミング言語とはシステム化する対象物を抽象化し、コンピュータで処理可能なコードを記述するために用いる人工言語である。プログラミング言語はコンピュータの機械語と一対一の対応をもったアセンブラから始まり、コンパイラを用いて機械語に翻訳することを前提としたコンパイラ言語、インタプリタと呼ばれるプログラムがソースコードを解釈し実行するスクリプト言語と、記述できる抽象度を高める方向へと進化してきた。 プログラミング言語はその存在理由から、より抽象度の高い記述が行えること、すばやい開発を行える事が求められる。抽象度の高い記述とは、プログラムがどういう処理を行うか(HOW)ではなく何の処理を行うか(WHAT)を記述しやすい構文、機能を持っていることを、すばやい開発とは記述性の高さ、コードの密度の高さ、バグの発生しにくい構文、機能を持っていることをさす。 この抽象度の高い記述、すばやい

  • 1