Saturday, January 29, 2011

PLINQ

List[BabyName] b = new List[BabyName]();
BabyName ob = new BabyName();
for (int i = 0; i lt 10000000; i++)
{
ob = new BabyName();
ob.Name = i.ToString();
b.Add(ob);
}
ob = new BabyName();
ob.Name = "Mahesh";
b.Add(ob);


Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
var _sequentialQuery = from b2 in b
where b2.Name.Equals("Mahesh",StringComparison.InvariantCultureIgnoreCase)
select b2;
stopWatch.Stop();

::PLINQ ::

string ss = stopWatch.ElapsedTicks.ToString();
Stopwatch stopWatch2 = new Stopwatch();
stopWatch2.Start();
var _sequentialQuery2 = from b2 in b.AsParallel().WithDegreeOfParallelism(60)
where b2.Name.Equals("Mahesh", StringComparison.InvariantCultureIgnoreCase)
select b2;
stopWatch2.Stop();
string ss2 = stopWatch2.ElapsedTicks.ToString();





class BabyName
{
public string Name { get; set; }
}

Thanks
Mahesh K Sharma

No comments: