xin9le.net

Microsoft の製品/技術が大好きな Microsoft MVP な管理人の技術ブログです。

TPL入門 (1) - はじめに

近年のCPUの進化はクロック数を上げる方向ではなく、複数コアを載せる方向に進んでいます。1コアの処理速度を上げることに対する限界が来ているからです。コアを複数にすることで並列に処理を行えるようにし、全体としての処理速度を改善しようというのが狙いです。

しかしながら、世の中に出回っているアプリケーションは基本的に並列処理に対応していません。それは実装が非常に手間だからです。以前は、1コアのCPUでもクロック数が高くなるに従って "勝手に" アプリケーションの処理速度が向上してきましたが、現在では前述の通りCPUのクロック数に頼った処理速度の向上は望めません。

そこで必要になるのが、現在主流になりつつある複数コアを利用したパフォーマンスの改善です。複数コアを搭載したCPUは一般家庭でもすでに主流となっており、2コア/4コアは当たり前の時代です。アプリケーションの高度化とそれに伴うパフォーマンスの悪化が進む今、プログラマーは "手間だから" とか "面倒だから" という理由では避けられない時に来ています。

そこで登場するのが.NET Framework 4.0で搭載されたタスク並列ライブラリ (TPL : Task Parallel Library) です。これを利用することで、対象とする環境にCPUコアがいくつ搭載されているかや、早く処理を終わらせるためのスケジューリングや最適化を独自に行うことなく、気にすることなく、並列処理をスマートに実現することができます

これからしばらくは、このタスク並列ライブラリについて書いていこうと思います。 Let's enjoy TPL together!!