蓝宇网络 www.py668.com

非淡泊无以明志,非宁静无以致远。

导航

静态方法和动态方法的速度对比


昨天看到微软的一编锁定静态类的文章,里面说到静态方法的速度是很慢的,所以特地写了个测试来看看到底有多慢,下面是测试代码,结果,是大家循环1000000000次,静态方法1550,动态方法是1553,动态方法反而还慢,真搞不明白,微软说的速度很慢是什么意思。如果我再加上构造函数,动态方法要25秒多,如果这样测试是合理的话,那我不如在asp.net里全部用静态函数好了。这不是更快?


    
public class T1
    
{
        
public static void Test() {
            
int i = 1;
            i
++;
            
return;
        }

    }


    
public class T2
    
{
        
public T2()
        
{


        }

        
public void Test()
        
{
            
int i = 1;
            i
++;
            
return;
        }

    }



        [TestMethod]
        
public void StaticTest2()
        
{
            Stopwatch s 
= new Stopwatch();
            s.Start();
            
for (int i = 0; i < 1000000000; i++)
            
{
                T1.Test();
            }

            Console.Write(s.ElapsedMilliseconds.ToString() 
+ "\n");

            Console.Write(s.ElapsedMilliseconds.ToString() 
+ "\n");
            s.Reset();
            s.Start();

            T2 t 
= new T2();
            
for (int i = 0; i < 1000000000; i++)
            
{
                t.Test();
            }

            Console.Write(s.ElapsedMilliseconds.ToString() 
+ "\n");
        }

posted on 2006-12-30 20:11  罗记  阅读(698)  评论(2编辑  收藏  举报