Apple WWDC [日常のあれやこれや]
いまちょうどアップルがWWDCをサンフランシスコでやてる。MacOS Xの次のバージョン10.6 Snow Leopardでのプログラマから見た変更点のこと、現地に行けばもっと具体的にわかるのだろうか。もちろん行かないけど。
10.5 Leopardではけっこういろいろな変更があった。10.6ではそれほど多くないらしいけど、それでも気になる話が上がっていた。
まずGrand Central Dispatch。これを見ると専用の文法を導入してマルチスレッドを簡単に使えるようにするらしい。
NSOperationとの関係がよくわからない。特別のBlockという表現を使ってそのコードブロックをdetatchできるらしい。NSOperationQueueみたいなのもあらかじめあって、しかもシステムレベルでもそのqueueが用意されているらしい。
これだと、NSOperationができることはできそうだけど、そうするとthread safeに書く作法とかはプログラマのレベルで制御しなければいけないと言うこと?そうすると単にタイプ量が減るだけで、わざわざNSOperationとは別にした意味があまりないような気がする。それとももっと便利な何かが備わっているんだろうか。自動的に排他制御してくれるとか。それではかえってオーバーヘッド増えそうだけど。
それとOpenCL。こっちはすでにいろいろな情報がある。でもまだ具体的な実装がない。どういうところでメリットがあってどのくらいパフォーマンスが上がるのかまだわからない。CPUのロードは測定できるけどGPUがどのくらい忙しいのかヒマなのか普通はわからない。きっとCPUとGPUとをインターリーブするようなコードでないと実用的なパフォーマンスは上がらないと思うけど、そういった評価ツールも揃わなければつらい。Instrumentsのプラグインを用意しといてほしい。
QuickTime Xもプログラマから見てなにか変化あるのか外部情報ではわからない。ああ、ColorSyncで色変換できるようになるということはわかった。できればObjective-Cから使いやすいQuickTime Kitをもっと充実させてほしい。まだまだCレベルのQuickTimeとQTKitではできることに差がありすぎる。パフォーマンスもQTKitはかなり劣る。なんとかならんか。
そういえば、PowerPCははやくもサポートされなくなるのね。いつもながらアップルは切り捨てはやいなあ。会社では全然現役なんだけど。どんなCPUでも動きます、としたほうがいいような気がするんだけど。たとえば極端な話、x86のコードではなく、マイクロマシンのコードを吐いてx86のデコーダをすっとばしてパフォーマンスを上げるとか。マイクロコードなんか石ごとに違うだろうしそもそもマイクロマシンのバスは外に出てないからもちろんインテルと調整しないといけないけど、いつまでもx86のプログラミングモデルを引きずるのも賢くないだろ。だってもう30年やで、ドッグイヤーとか言ってるくせに。
とはいうものの、実際に10.6がリリースされて、OnLine会員にも情報が公開されてからどうするかゆっくり考えればいいんだけど、僕の場合。
コメント 0