110,536
社区成员
发帖
与我相关
我的任务
分享
static void Main(string[] args)
{
Stopwatch sw = new Stopwatch();
Console.WriteLine("-----------value type test-----------");
int j;
sw.Start();
for (int i = 0; i < 10000000; i++)
;
sw.Stop();
Console.WriteLine("loop:{0}", sw.ElapsedMilliseconds);
sw.Reset();
sw.Start();
for (int i = 0; i < 10000000; i++)
j = Increase(i);
sw.Stop();
Console.WriteLine("return:{0}", sw.ElapsedMilliseconds);
sw.Reset();
sw.Start();
for (int i = 0; i < 10000000; i++)
Increase(i, out j);
sw.Stop();
Console.WriteLine("out:{0}", sw.ElapsedMilliseconds);
sw.Reset();
Console.WriteLine("-----------reference type test-----------");
object result;
sw.Start();
for (int i = 0; i < 10000000; i++)
;
sw.Stop();
Console.WriteLine("loop:{0}", sw.ElapsedMilliseconds);
sw.Reset();
sw.Start();
for (int i = 0; i < 10000000; i++)
result = NewObject();
sw.Stop();
Console.WriteLine("return:{0}", sw.ElapsedMilliseconds);
sw.Reset();
sw.Start();
for (int i = 0; i < 10000000; i++)
NewObject(out result);
sw.Stop();
Console.WriteLine("out:{0}", sw.ElapsedMilliseconds);
Console.ReadLine();
}
private static void Increase(int i, out int j)
{
j = i + 1;
}
private static int Increase(int i)
{
return i + 1;
}
private static object NewObject()
{
return new object();
}
private static void NewObject(out object result)
{
result = new object();
}