今日のつぶやき

Twilog

[Twitter]今日のつぶやき ff.im/i2s1J #

iMac/Core i7上でScalaの並列クイックソートの性能(Intオブジェクト100万件)を測ってみた。Scala 2.7.7上で並列ソート3370ms, 普通のソート3123msというようなオーダー。並列にしない方が早い(汗)。 #

Scala 2.8.0.Beta1-prereleaseだと、並列ソート2036ms、普通のソートで2922msのオーダー。Scala 2.8だと並列を使う価値が出てくるかな。 #

Core i7は4コアで、hyper threadingで擬似的に8コアになる。メータを目視している印象では普通はあんまり擬似的な方のコアは動かないみたいだけど、ソートプログラムだと8個のコアが普通に並列動作した。 #

Scalaで普通のソートを動かしてもなぜかコア8個が同時に動くみたい。(擬似コアの方は控えめ。) GCでいくつか使ってるのはあるとして他には何やってるんだろう。 #

いずれにしても、アルゴリズムの高速化目的でActorを使うのは、相当大きな処理でないとペイしない。Actorといえどもプログラミングはかなり複雑になるし、その上に逆に遅くなる場合もある。 #scala #

Java 7で状況が変わるかもしれないけど、これはちょっと先の話。 #

クラウドの場合、さらにネットワーク間の遅延があるので、分散並列処理で性能を上げようとするアプローチは相当覚悟してかからないといけないね。 #scala #

一方、非同期事象のイベントに対してリアクティブに動作させる目的には、Actorを使うのが自然。当面はこっち方面で使うつもりでいるのがよいかな。 #scala #

AppEngineといったクラウドインフラで、リアクティブ処理の機構としてはインフラ側のもの(e.g. Servlet)を使う場合には、PartialFunction生使いということになる。 #

Windows 7機(サブノート)のMeadowにcolor-moccurとmoccur-editを入れた。Emacsはやはりいいなぁ。 #

Windows 7機もiMac機もEmacsマシンとして運用しているので、使い勝手はあんまり変わらない。 #

Automatically shipped by LoudTwitter