Should LINQ be avoided because it's slow? [закрыто]

Мне сказали, что, поскольку .net linq очень медленный, мы не должны его использовать, и мне было интересно, что кто-то другой пришел к такому же выводу, и пример:

Взял 1443мс, чтобы сделать 1000000000 сравнений не LINQ.
Взял 4944мс, чтобы сделать 1000000000 сравнений с LINQ.
(На 243% медленнее)

код не LINQ:

for (int i = 0; i < 10000; i++)
{
    foreach (MyLinqTestClass1 item in lst1) //100000 items in the list
    {
        if (item.Name == "9999")
        {
            isInGroup = true;
            break;
        }
    }
}

Взял 1443мс, чтобы сделать 1000000000 сравнений не LINQ.

LINQ код:

for (int i = 0; i < 10000; i++)  
    isInGroup = lst1.Cast<MyLinqTestClass1>().Any(item => item.Name == "9999");  

Взял 4944мс, чтобы сделать 1000000000 сравнений с LINQ.

Я предполагаю, что можно оптимизировать код LINQ, но мысль заключалась в том, что легко получить действительно медленный код LINQ и, учитывая, что его не следует использовать. Учитывая, что LINQ работает медленно, из этого также следует, что PLINQ работает медленно, а NHibernate LINQ будет работать медленно, поэтому не следует использовать любой тип оператора LINQ.

Кто-нибудь еще обнаружил, что LINQ настолько медленный, что ему хотелось бы, чтобы он никогда не использовал его, или я делаю слишком общий вывод, основываясь на таких тестах?

Ответы на вопрос(17)

Ваш ответ на вопрос