.net 4.0 has some cool features that will enable me to utilize all the hardware resources. The main candidate for this operation is called PLINQ which enables you to execute your LINQ quires in parallel in a Core 2 Duo environment. As my experiment reviled if you use PLINQ it will utilize maximum CPU capability in both processors. where as normal C# or LINQ qury utilized only 50% of the CPU capacity. This made the PLINQ query to execute in double quick time com paired to the normal query.

Normal Query

for (int i = 0; i < 10000000; i++)
{
DoSomethingReallyComplicated(i);
}

PLINQ

Parallel.For(0, 10000000, i => { DoSomethingReallyComplicated(i); });

CPU Usage of PLINQ vs Normal Query

PLINQ used 100% of the CPU and did the work in 23.56 seconds

Normal Query used about 85% form CPU1 and 15% form CPU 2 did the work in 42.86seconds.