У меня есть два списка в играх с памятью, а у пользователей - один объект с 15 милями, а другой около 3 мил.plinq на больших списках, занимающих огромное время
является следующим несколькими запросами я стреляющими ..
consumersn=consumers.AsParallel()
.Where(w => plays.Any(x => x.consumerid == w.consumerid))
.ToList();
List<string> consumerids = plays.AsParallel()
.Where(w => w.playyear == group_period.year
&& w.playmonth == group_period.month
&& w.sixteentile == group_period.group)
.Select(c => c.consumerid)
.ToList();
int groupcount = plays.AsParallel()
.Where(w => w.playyear == period.playyear
&& w.playmonth == period.playmonth
&& w.sixteentile == group
&& consumerids.Any(x => x == w.consumerid))
.Count();
Я использую 16 сердечника машину с 32 Гб оперативной памяти, несмотря на это .. первый запрос занял около 20 часов, чтобы бежать ..
я делаю что-то неправильно ..
Вся помощь искренне признателен.
Благодаря
Профайлер - ваш друг здесь. Но похоже, что вы выполняете операции 15M * 3M в своем первом запросе. –