Geçtiğimiz günlerde Linq ve Plinq hakkında birkaç önlem aldım. Hangi durumun Plinq'in gerçek bir yararı olduğunu göremiyorum.PLINQ'in herhangi bir faydası var mı?
ben gibi pek çok örnek buldum:
Enumerable.Range(0, 10000).AsParallel().ForAll(_ => Thread.Sleep(50000));
o 10000 derecesiyle parallized edilebilir ve evet o zaman 10000 kat daha hızlı olacak çünkü bu, tamamen yararsız bir örnektir, ama bir iş görülmez 10000 kez döngü ve "IO işleri" yapmak için uygulama.
Birisi bir örnekten söz edebilirse, lütfen onu gönderin.
Plinq yalnızca Linq'den Objects ve Linq to XML için kullanılabilir. Web sunucusunda çalışan uygulamada kullanılması önerilmez (kendi iş parçacığı yönetimine sahiptir). Bu yüzden fırsatlarımız, birden çok çekirdeğe sahip masaüstü uygulamalarına indirgeniyor.
Genellikle, bir saniyenin kesirlerinde sırayla çalışan linq sorguları yazarım. Paralelleştirirsem ve gerçekten paralel koşarsa daha hızlı olur, ama kimin umurunda? Bence hala yeterince hızlı. Son kullanıcı herhangi bir fark görmeyecek.
Birisi tüm verileri DB'den aldığında ve sorguyu bellekte çalıştığında bir örnek hayal edebiliyorum. O zaman belki faydalıdır, ama yanlış bir tasarımdır.
TPL, uyumsuz programlama için iyi bir şeydir, ancak yine de Plinq'in kullanışlı bir araç olduğundan emin değilim.
Bu konuda olumlu deneyimler var mı? Eğer PLINQ yararlanabilirim hangi
* "Bu Paralelin Her Zaman Daha Hızlı Olduğunu Düşünmeyin" * ... [PLINQ ile Potansiyel Tuzaklara] bakmanız gerekir (http://msdn.microsoft.com/en-us/library/dd997403%28v= vs.110% 29.aspx) !! –
Teşekkürler, zaten içine baktım :) – speti43
Kırık olmayan şeyleri düzeltmeye gerek yok. PLINQ, çok çekirdekli bilgisayarlarda büyük veri için mantıklı olabilir. –