i'm trying determine how asparallel() splits it's 'source', , indeed meant 'source'...
for example...
public class csvitem { public datetime date { get; set; } public string accountnumber { get; set; } } list<csvitem> csvitemlist = new list<csvitem>(); then put 500k varying csvitem's csvitemlist.
then use:
csvitemlist = csvitemlist.asparallel().orderby(x => x.accountnumber).thenby(q => q.date).tolist(); will split 'source' (meaning example 250k records onto each of 2 threads) onto multiple asynch threads , perform orderby().thenby() on each thread merge results...
or separate orderby() , thenby() onto separate threads , run them , merge results... giving strangely ordered list?
it gose 1 one a) done orderby merge result , gose b) thenby. below image form albahari blog shows how works i.e. take 1 one

q: how many number of task
a : can decide using withdegreeofparallelism forces plinq run specified number of tasks simultaneously
//create 5 task list.asparallel().withdegreeofparallelism(5) check : parallel programming
Comments
Post a Comment