问题描述
嗨!
测试som Linq-expressions并尝试测量性能和
将它与Linq之前的编程进行比较。
以下两种方法功能相同,但非Linq方法的价格是
的两倍。
public List< ConferenceRoomOldWay(int minimumSeatingCapacity)
{
列表< ConferenceRoomavailableRooms =新列表< ConferenceRoom>();
foreach(会议室房间)
{
if(room.SeatingCapacity> = minimumSeatingCapacity)
availableRooms.Add(room);
}
返回可用房间;
}
公共列表< ConferenceRoomNewWay(int minimumSeatingCapacity)
{
返回(从房间的房间
,其中room.SeatingCapacity> = minimumSeatingCapacity
选择房间).ToList();
}
PS。
简单明了:
达teTime start = DateTime.Now;
for(int i = 0;我< 1000000; i ++)
rooms.OldWay(8);
Console.WriteLine((DateTime.Now - start).Ticks);
....来衡量表现(一遍又一遍地重复测试)。
结果:
非Linq:约6 300 000蜱
Linq:ca。 3 100 000
为什么Linq更慢?
谢谢
/ Paul
我在这里缺少什么?更少的嘀嗒声实际上意味着它更快,对吧?
-Jeroen
我在这里缺少什么?更少的蜱真的意味着它更快,对吧?
-Jeroen
Hi!
Testing som Linq-expressions and tried to measure performance and
compare it to pre-Linq programming.
The folloing two methods are functional equal but the non-Linq one is
twice as fast.
public List<ConferenceRoomOldWay(int minimumSeatingCapacity)
{
List<ConferenceRoomavailableRooms = new List<ConferenceRoom>();
foreach (ConferenceRoom room in rooms)
{
if (room.SeatingCapacity >= minimumSeatingCapacity)
availableRooms.Add(room);
}
return availableRooms;
}
public List<ConferenceRoomNewWay(int minimumSeatingCapacity)
{
return (from room in rooms
where room.SeatingCapacity >= minimumSeatingCapacity
select room).ToList();
}
PS.
Just did a plain and simple:
DateTime start = DateTime.Now;
for (int i = 0; i < 1000000; i++)
rooms.OldWay(8);
Console.WriteLine((DateTime.Now - start).Ticks);
....to mesaure the performance (Did repeate the test over and over).
Results:
Non-Linq: ca. 6 300 000 ticks
Linq: ca. 3 100 000
Why is Linq slower?
Thanks
/Paul
What am I missing here? Less ticks actually means it''s faster, right?
-Jeroen
What am I missing here? Less ticks actually means it''s faster, right?
-Jeroen
这篇关于Linq为什么慢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!