プラグインコンテストのTシャツが届いたよ

masanobuimai2009-03-17

むふふ。これはうれしい。:-)


開けてビックリ。「なんだよIDEALって?」と思ったが,公式サイトでもちゃんとIDEALって表記してあるんで,意図的なもんらしい。あと年表記が2009なのが気になるけど。:-P


ちょっとバッタモン臭さがあるけど,ちゃんとJetBrains社から貰ったんだよ。こんな簡単に貰えるんだったら,一昨年もエントリしとけばよかった。
味をしめたのでアイデアがあったら今年もエントリしようっと(一応,ストックにIdeaSabotterがあるしな)。


ちなみに背中はこんな感じ。

64bit JVMとCompressed OOPs Feature

(↓)ここの64bit JVMと32bit JVM,どっちがいいの?的な話が発端。とても興味深い。
http://www.groovygrails.de/blog/groovygrails/entry/grails_java_web_hosting_32


曰く,64bit JVMのメリットは「2G/4G以上のメモリ空間を利用できる」にあるのだけれど,それに伴うデメリットもあるそうだ。そのひとつがメモリ消費量の増加(32bitと比べ60%増)なんだそうな(パフォーマンスは,64bit CPU命令使えて良いって話と,アドレッシングが4byteから8byteになって損だって話があるから,あたしとしては棚上げしていいかな思ってる)。


なんで,物理的に広大なメモリ空間を持っていて計算集約型(Compute intensive)なアプリ(ってなに?)なら64bit JVM使うと得するけど,データ集約型(Data intensive)アプリ(ってなに?)なら32bit JVMのほうがイイヨ。と言うか,選択可能だったら32bitがイイヨって書いてる。:-)


それでも,世の中のVPS屋は64bit OSをホストしているので,載っているJVMも64bitになってることもあるよ,と。でも"compressed oops feature for 64-bit JVM"に期待しよう,だって。ん,"compressed oops feature"?なにそれ?


OOPってのは"ordinary object pointer"の事らしい。なんか知らんが,64bit JVMでもアドレッシングを4byteに圧縮して使おう言う機能のようだ(超テキトウ)。
http://wikis.sun.com/display/HotSpotInternals/CompressedOops


どのUpdateからかは追えてないけど,少なくともJDK6u14には含まれているようだ(下のリンクだとJDK6u6pで試している)。
32-bit or 64-bit JVM? How about a Hybrid? «Ismael Juma Ismael Juma


(↑)ここに書いてあるベンチマークによれば,"compressed oops feature"を使えば,32bit JVMと比べ,

で,32bit JVMより広いメモリ空間が利用できるっつうメリットが得られるようだ。いいことずくめな気もするけど,まだ -XXオプション扱いなのよね("-XX:+UseCompressedOops"で有効になる)。だから「64bit JVMは様子見」ってのは外れちゃいないんだろう。
#できれば,自分自身で体験してもっとリアリティを感じてみたいところだ。


ps.
G1コレクタとか,64bit JVMとか。新しい話題が出てきて,そろそろ持ちネタの鮮度が落ちてきたな。:-P

Hudsonを使ったCIサーバのデモムービー

Continuous Integration(asin:0321336380)のブログが1年ぶりに更新されたと思ったら,こんなデモムービーが投稿されてた。
http://integratebutton.com/blog/2009/03/16/new-video-use-a-continuous-integration-server-using-hudson/


デモに使ったプロジェクトはGoogle Codeにホストされてて,Antベースながらも実に多彩な事をやっている(例えば,ビルド以外にもDBのインテグレーション,各種検査,デプロイなどなど)。確かに良い勉強材料になりそうなんだけど,ちょろっと試すにはハードル高いかも。:-)


確かに,JDKとAnt,SVNのクライアントがあればすぐに始められるんだけど,若干調整ごとがあるんで,そこで挫けそうな気もしなくもなしダ(ANT_OPTSの設定とか,Tomcatのバージョンが,とかとか)。
だからつってムービーみただけじゃ雰囲気伝わんないよね。

GParallelizer - 並列処理用Groovy DSL

http://code.google.com/p/gparallelizer/

ScalaのActor風なActors,Java5のExecutor Serviceベースの並列コレクションとクロージャAsynchronizerとJSR166ベースのParallelizerとで成り立ってるようだけど,どれも良く分かりませんっ!!


そもそもScalaのActorを知らんのだけれど,Actorsはコード例から雰囲気は読み取れる(メッセージの送受信んとこ)。他の2つは,あたしの創造力が足りない。:-P


しかし,あれだ。最近Groovyのほうが居心地良くなってきたんだけど,それって良いんだか悪いんだか。
と言うか,Java(言語)が面倒臭いねとか思い始めてるし。あははー。:-)