
コールバック不要:Javascript に逐次プログラミングを取り戻す StratifiedJS
StratifiedJS は Javascript に並列性構造を追加したスーパーセットであり,Javascript のコールバック地獄を過去の遺物にします。でも,どうやって? InfoQ ではその方法を,Onilabs の Alexander Fritze 氏に聞きました。

StratifiedJS は Javascript に並列性構造を追加したスーパーセットであり,Javascript のコールバック地獄を過去の遺物にします。でも,どうやって? InfoQ ではその方法を,Onilabs の Alexander Fritze 氏に聞きました。
WPF 4.5ではマルチスレッド・データバインディングのサポートが改善されたが、このテクニックには依然としてリスクがある。この記事では、それがどのように動いているか、安全に使うには何が必要かについて説明する。
最近のプロセッサが提供する並列処理を活用するのはなかなか難しい。これらのCPUが低価格でも手に入るようになった今、ソフトウェアエンジニアの主要な課題は、アプリケーションの中でプロセッサをいかに活用するかということである。マルチコアのソフトウェアエンジニアリング、パフォーマンス、ツールに関する国際会議(The International Conference on Multicore Software Engineering, Performance, and Tools; MSEPT'12)でその答えが見つかるかもしれない。
Microsoftは.NET 4.5で、特にTask Parallel Libraryを使った並列アプリケーションのパフォーマンス改善に取り組んでいる。もっとも印象的な改善点のひとつは、1億タスクの待機によるオーバーヘッドで、12,000,000バイトからたった64バイトに削減された。
ソフトウエアアーキテクチャを最新に保つのはとても難しい。アーキテクチャの情報は普通、厚い本かウェブサイトで得られる。しかし、YouTubeやVimeoのような動画サイトで勉強するのも面白い方法だ。

Fiberはユーザに試練を課すことなくこの考えを実装する有益な並行性ツールとして、ライブラリが2つあります。まさにこのためのソリューションとしてあるのがNeverBlockライブラリです。私たちはNeverBlockプロジェクトのMohammad A. Ali氏とRevactorライブラリのTony Arcier氏に話を聞きました。

パート2では、ベンチマークの結果を検証するために用いられるテクニックについてさらに深く見ていきたいと思います。最後に、「なぜプロセッサが異なるとロックのコストも大きく異なるのか」と言う真の疑問に答えます。

2つのパートからなるこの記事では、シングルスレッドベンチマークの助けを借りて、Java 6のスレッドのパフォーマンスに関する疑問に答える試みをしようと思います。