ページ

2012年6月1日金曜日

[VS2012] Visual Studio 2012 RC での変更点

What’s New for Parallelism in Visual Studio 2012 RC」 より。
Visual Studio 2012 RC での変更点がまとめられてました。

コンパイル時に async なメソッドには AsyncStateMachineAttribute がつけられるようになったそうです。コード解析するツールとかで async なメソッドであったことがわかるようにってことらしいです。

async/await キーワードに関しては(中身が)いろいろ変わった模様。
いろいろ改良されて、async/await 時に消費されるメモリも、オーバーヘッドもかなり減ったとのこと。
また、ベースクラスライブラリ(BCL)の Async なメソッド自体も改良されているそうです。たとえば、StreamReader.ReadLineAsync メソッドは 300% くらい速くなってるとか。他にも BufferedStream 類もいろいろ改良したとか、AsStream や AsStreamForRead なんかは BufferedStream を使うようにしたとか、非同期関連はコンパイラ・ライブラリ通していろいろと改良されているようです。

ASP.NET も Beta まではイベントハンドラに async 付けるとバギーだった(代わりに RegisterAsyncTask を使う)のが、どうやら async 付けても大丈夫になった模様。
他にも HttpRequest、HttpResponse でキャンセル可能になったとかいくつかの改良がされているようです。

Dataflow (System.Threading.Tasks.Dataflow)がなくなっちゃいました。
どうやら、Beta まではフル .NET Framework のパッケージに入ってたけどメトロスタイルには無いとかそういう状況だったけど、デスクトップとメトロスタイルの両方で使えるように .NET Framework からは分離して NuGet で提供するようにしたってことみたいです。
詳細は 「MEF and TPL Dataflow NuGet Packages for .NET Framework 4.5 RC [Nick]」 にあります。
System.Threading.Tasks.Dataflow.dll は無くなって Microsoft.Tpl.Dataflow として NuGet にある。これはデスクトップ、サーバー、メトロスタイルのすべてをサポートする。なお、まだ Prerelease なので “Include Prerelease” にしておかないと一覧で出てこない模様。
あと、MEF も Beta のころはメトロスタイルでは .NET Framework 版 MEF のサブセットが使えるという感じだったが、これからは MEF for Metrostyle という新しいパッケージとして NuGet で取得できるようになってるそうです。

0 件のコメント:

コメントを投稿