2008年 4月 07日 月曜日 |
読みたい記事リストから English Translation: (Yahoo!) / (Google)
先週はDirectory Masters Eventのためにフランス/グルノーブルに行っていましたが、今週は別のイベントのために中国の深圳(シンセン)にいます。深圳は香港の隣の都市で、香港空港からバスで1時間ほどです。途中で香港当局のチェックと、中国当局による入国チェックの2回のチェックがあります。隣に乗っていたおじさんが親切に教えてくれたため、なぜバスをいきなりおりなければならないのか?のような疑問なく通過することができました。一方、フランスからスイスに抜けたときは国境をまたぐ道路のゲートでも、ジュネーブ空港の出国審査でさえもパスポートを見せること無く顔パスで通過。この24時間でずいぶん空気の違いを感じました。 さて、それはさておきフランス滞在中はインターネットアクセス事情があまり良くありませんでした。泊まっていたホテルにはWifiがあったのですが、2分使えて、その後15分は使えない。というような状況がずっと続き、写真のアップロードどころかメールのチェックすらまともにできませんでした。グルノーブルのオフィスではもちろんインターネットも使えましたが、イベント中のためメールチェック程度しか時間が取れませんでした。こうなってくると困るのがRSSの購読残の増加です。個人的にはRSSリーダとしてグーグルさんのGoogle Readerを使っているのですが、その統計によれば一日だいたい200エントリ程度を購読しているようです。 さて、Google Readerには個人的に気に入っている機能としてスターをつける、という機能があります。キーボードショートカットの「s」で記事に対して星をつけることができ、またスターをつけることができるエントリ数に制限が無い、極めつけにスターをつけた記事のRSSを公開できる。というところがとても気に入っています。おそらく、このスターは人によって使い方が若干違うと思いますが、個人的には「後で読みたい記事リスト」として機能しています。 さて、この中で興味深かったのがJames Goslingが取り上げていた川口さんの「Deep dive into assembly code from Java」という記事です(川口さんのブログも購読しているのにGoslingのブログで気がついたのもどうかと思いますが・・・)。JavaのHotSpot VMがどのように最適化をしているかを説明しています。これも後で読もうと思っていたんですが、同じく川口さんの記事で「I resurrected my Japanese blog」を見て、川口さんの日本語ブログがあるのを知りました。しかもそこにはなんと、読もうと思っていたDeep dive into assembly code from Javaの日本語版があるではないですか。これは早速読まねば、と思い先ほどから読み進めていました。 アセンブラもずいぶん触っていないので最初この記事を見たときも、SPARCのアセンブラなのか、x86のアセンブラなのか一瞬迷った、というお粗末ぶりですが、個人的にアセンブラできちんとプログラムを書いたのはz80とせいぜい80286アセンブラまでで、80386以降はまるでやっていませんでした。80386の知識と言えば、レジスタの名前が32bitならEAX、EBX、.. etcになるとか32bitと16bitの切り替えは66h(?)だったようなとか、大して実用的な物はありません。コンパイラの最適化処理、とかも、高校時代にがんばってバイトして買ったBorland C++ 4.0/Turbo Assemblerで、おお〜教科書通り。見たいな確認しかしていませんでした。最近のエスケープアナリシスとか、ロック粗粒度化あたりは理屈としてどういう物かは、知っている物のアセンブラのコードとしてどうなってるのか、ということまで気にしたことがありませんでした。 今回の川口さんの記事のおかげでJava VMが具体的にどういう最適化処理をやっているのか、ということがわかったことだけでなく、久々にほこりをかぶったアセンブラの知識をよみがえらせてみようと思うきっかけにもなりました。EM64T命令セットも具体的にどんな感じなのかイメージがつかめて参考になりました。読みたい記事リストにはまだまだこういうすばらしい記事が埋もれてるかもしれません。 |
Today's Page Hits: 1075 |