List.Sort 和 手动判断大小List.Insert插入性能对比
long nTick = System.DateTime.Now.Ticks;
for (int i = 0; i < 10000; i++)
{
list1.Add(new pack(i));
}
list1.Sort((a,b)=>
{
if (a.a > b.a)
{
return -1;
}
else if (a.a < b.a)
{
return 1;
}
return 0;
});
Debug.Log(new System.TimeSpan(System.DateTime.Now.Ticks - nTick).TotalMilliseconds);
list1.Clear();
long nTick = System.DateTime.Now.Ticks;
int nIndex = 0;
int nCount = 0;
for (int i = 0; i < 10000; i++)
{
nCount = list2.Count;
for (nIndex = 0; nIndex < nCount; nIndex++)
{
if (i > list2[nIndex].a)
{
break;
}
}
list2.Insert(nIndex, new pack(i));
}
Debug.Log(new System.TimeSpan(System.DateTime.Now.Ticks - nTick).TotalMilliseconds);
list2.Clear();
结果:
List.Sort = 1.9948
手动判断 = 13.9636
完胜。。。
程序学无止尽。
欢迎大家沟通,有啥不明确的,或者不对的,也可以和我私聊
我的QQ 334524067 神一般的狄狄