近年のCPUの進化はクロック数を上げる方向ではなく、複数コアを載せる方向に進んでいます。1コアの処理速度を上げることに対する限界が来ているからです。コアを複数にすることで並列に処理を行えるようにし、全体としての処理速度を改善しようというのが狙いです。
しかしながら、世の中に出回っているアプリケーションは基本的に並列処理に対応していません。それは実装が非常に手間だからです。以前は、1コアのCPUでもクロック数が高くなるに従って "勝手に" アプリケーションの処理速度が向上してきましたが、現在では前述の通りCPUのクロック数に頼った処理速度の向上は望めません。
そこで必要になるのが、現在主流になりつつある複数コアを利用したパフォーマンスの改善です。複数コアを搭載したCPUは一般家庭でもすでに主流となっており、2コア/4コアは当たり前の時代です。アプリケーションの高度化とそれに伴うパフォーマンスの悪化が進む今、プログラマーは "手間だから" とか "面倒だから" という理由では避けられない時に来ています。
そこで登場するのが.NET Framework 4.0で搭載されたタスク並列ライブラリ (TPL : Task Parallel Library) です。これを利用することで、対象とする環境にCPUコアがいくつ搭載されているかや、早く処理を終わらせるためのスケジューリングや最適化を独自に行うことなく、気にすることなく、並列処理をスマートに実現することができます。
これからしばらくは、このタスク並列ライブラリについて書いていこうと思います。 Let's enjoy TPL together!!