Исследователь...

« картинки и свежие анекдоты | чат

Исследователь...

Вот что пишет в своем блоге:

LINQ to object vs foreachНачал изучать LINQ, и почитав немного про него, задался вопросом, а зачем он нужен? Ведь ту же самую работу можно выполнить с помощью обычного цикла foreach. Сразу возник вопрос, а что с производительностью? Кто будет быстрее? Для этого создал небольшой тест.

Random rnd = new Random();
List< string > names = new List< string >();
for ( int i = 0; i < 1000000; i++ )
{
StringBuilder sb = new StringBuilder();
for ( int j = 0; j < 10; j++ )
{
sb.Append((char) rnd.Next('a',
'z'));
}
names.Add(sb.ToString());
}
List< string > matches = new List< string >();

Stopwatch sw = new Stopwatch();
sw.Start();
foreach ( string s in names )
{
if ( s.StartsWith("d") )
{
matches.Add(s);
}
}
sw.Stop();
Console.WriteLine("standart foreach: {0}",
sw.Elapsed.TotalMilliseconds);

sw.Reset();
sw.Start();
var matchesLinq = (from s in names
where s.StartsWith("d")
select s);
sw.Stop();
Console.WriteLine("linq to object: {0}",
sw.Elapsed.TotalMilliseconds);
Вначале создается список со случайными значениями, а затемосуществляется поиск с помощью foreach и LINQ. И производится замер времени работы.В результате я получил такие значения:standart foreach: 222.3422

linq to object: 0.1737

Паразительно, но скорость выполнения LINQ кода, в 1280 раз выше чем foreach!!!
К тому же запись LINQ гораздо более компактна чем foreach цикл.

Ещё интересное на этом сайте:

Алко
Яйца
ДСП
Порнозвезды в молодости
О!
Плошка
Тайна Старого Замка
Анеки на четверг(02,02,2009)
Ахтунг
Широкий размах
Порнотуризм
Какую воду мы пьем? Пять заблуждений
Женщины, они такие
Анекдоты и картинки #42093
Как довести жену до самоубийства
Цикл научной новости [англ]
Прикольные футболки всего по 375р.
Брутальный секс-шоп
Шахматы радиолюбителям!
Репер СЯВА - разоблачение
« все анекдоты и картинки
Рейтинг@Mail.ru