Parallel Linq - kiedy używać?

0

Weźmy takiego koda

Random rnd = new Random();

var pLINQ = Enumerable
                     .Range(0, 150000)
                     .Select(x => x = rnd.Next(50000))
                     .ToList();

pLINQ
    .Where(x => x%2 == 0 && x >= 5)
    .ToList();

pLINQ
    .AsParallel()
    .Where(x => x%2 == 0 && x >= 5)
    .ToList();

Kiedy powinno się używać asParallel? bo np. w tym przypadku jedynie nam spowalnia

2

Tak naprawdę nie ma uniwersalnych zasad, można na wyczucie, ale i tak zawsze najlepiej zmierzyć i porównać wersje z równoległością i bez.

Dla takich prostych porównań które zajmują mało czasu, to żeby parrallel linqu było szybsze to trzeba mieć z ponad 10mln elementów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1