Следует ли избегать LINQ, поскольку он медленный? [закрыто]

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

Потребовалось 1443 мс для do 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 настолько медленный, что они пожалели, что никогда не использовали его, или я делаю слишком общий вывод на основе подобных тестов?

57
задан kumarharsh 6 February 2019 в 18:31
поделиться