2010年12月30日木曜日

JRubyの一年を振り返って

原文: チャールズ=オリバー=ナター

皆さん、こんにちは。

2010年ももうすぐ終わり。この一年を振り返ってJRubyにとって重要な出来事や人々を見て行きましょう。
2010年は、JRubyにとって素晴らしい年でした。様々なプロジェクトに採用され、また、第一級のRuby言語実装としても第一級のJVM言語としても人々に認知され、更にはJRuby自体も多いに進化した一年でした。早速みていきましょう。

2010年7月25日日曜日

Eclipse Memory AnalyzerでRubyアプリケーションのメモリリークを検知する

原文: チャールズ=オリバー=ナター


前回の記事「JRubyでメモリを観察するには」の後、何人かの人からEclipse MATのJRubyでの使い方について書いてみたらどうかとの意見を貰いました。これを早速取り上げる事にします。

2010年7月24日土曜日

JRubyのメモリを観察するには

原文: チャールズ=オリバー=ナター


Ruby言語の各実装において、どんなメモリ消費を解析するツールがあるのかが近頃ちょっとした話題になっています。 それもその筈、Rubyで書かれたアプリケーションの(不具合の調査は言うに及ばず)メモリ消費の具合を詳しく調べるのは容易い事ではありません。 JRubyを使わないのなら、そうです。


JRubyはJVM上で走るので、JVM向けに作られた何十ものツールの恩恵に授かる事が出来ます。 中にはJDKに同梱されているものを含め、メモリの調査、解析、レポートをするものもあります。 ヒープダンプが欲しければ、Hotspot系のJVM(SunまたはOpenJDK)に含まれるjmapやjhatが使えます。 もっと高度なツールが欲しければ、Eclipseを基にしたMemory Analysis Tool、 メモリ及びCPU性能解析ツールであるYourKit、 今ではHotspotに含まれているJavaVMを始め、 数多くの選択肢があります。 こうした数多くのツールのお陰でメモリの調査には事欠きません。


本稿では実際にこのうちの二つのツールをどの様に使いこなすか見ていく事にします。 取り上げたツールは起動中のJVMを観察するグラフィカルなツールであるVisualVMと、 ヒープをダンプして事後解析を可能にするjmapとjhatのタッグチームです。

2010年6月17日木曜日

今のJVMに欠けている物

原文: チャールズ=オリバー=ナター

今日ツイッターで、「JVM及びJDKが、あらゆるプログラミングにおいて真にイケてるプラットフォームになる為には未だ幾つかの欠陥が有る」と呟きました。沢山の人から「もっと詳しく」とせっつかれたので、ここに短く書き起こしておきます。勿論、これで全部という訳ではないのでしょうが、今日思いついたのはこれだけです。

2010年6月15日火曜日

JRubyのパフォーマンスの更なる向上を目指して

原文: チャールズ=オリバー=ナター

JVM上でJRubyが動く事の利点は折りに触れて述べてきました。JRubyのパフォーマンス数値はそこそこの結果を出しているのですが、多くの人々の期待に反して「抜群に素晴らしい」というものではありませんでした。詰まる所、他のRuby言語の実装に較べて良い結果を出したとしても、静的な型システムを用いる他のJVM言語には敵わないのでした。

しかし、それは今までの話し。

2010年5月12日水曜日

JRuby 1.5.0 リリースのお知らせ

原文:トム=エネボ

JRuby バージョン1.5.0


JRubyのバージョン1.5.0 のリリースを発表いたします。

ホームページ: http://www.jruby.org/
ダウンロード: http://www.jruby.org/download

今まで最長のリリース期間(凡そ五ヶ月)を経た今回のリリースは不具合の修正の数も最多になりました。加えて、以下に示す通り、多くの新しい機能も含んでいます。不具合の内訳としてはRubyのメソッドの細かい仕様の修正が殆どです。その点から申しますと、JRuby 1.4.0から1.5.0へのアップグレードは容易でしょう。また、「JRubyから暫く遠ざかっていた」と仰るあなたも、この機会に是非JRubyを今一度試してみて下さい。

2010年5月4日火曜日

JRuby 1.5.0.RC3 がリリースされました。

原文:トム=エネボ
JRuby 1.5.0.RC3 のリリースをお知らせします。

ホームページ: http://www.jruby.org/

ダウンロード: http://www.jruby.org/download


RC2以降に修正されたバグを以下に示します。


  • JRUBY-3742: Java native threads are not added to ThreadService.rubyThreadMap after being adopted.

  • JRUBY-4264: threadContextMap leaks RubyThread on death of adopted thread