牛骨文教育服务平台(让学习变的简单)
博文笔记

CSharp(C#) 与 C 计算性能(效能)比较

创建时间:2007-11-29 投稿人: 浏览次数:2672

以下C#2005 Console程序,执行耗时40000ms左右 amd xp 3000+ 1G内存。

using System;
using System.Collections.Generic;
using System.Text;

namespace CSharpCalcu
{
    class Program
    {
        static void Main(string[] args)
        {
         DateTime  dt1 = DateTime .Now ;
            int iTimes = 9;
            long iMax = 1;
            for (; iTimes > 0; iTimes--)
                iMax *= 10;
            long x =0;
            long y =0;
            long m =0;
            long n =0;

            for (int i = 0; i < iMax; i++)
            {
                x= iMax + 2;
                y= iMax - 2;
                m= iMax * 2;
                n= iMax / 2;
            }
            TimeSpan ts = DateTime.Now - dt1;;
            Console.WriteLine("x={0} y={1} m={2} n={3}", x,y,m,n);
            Console.WriteLine("calcu "+iMax.ToString ()+"times elapsed "+ts.TotalMilliseconds.ToString ()+"ms");
           
        }
    }
}

以下VC6.0 Console程序,执行耗时0ms amd xp 3000+ 1G内存。

#include "stdio.h"
#include "windows.h"
void main()
{

     DWORD dr1 = ::GetTickCount();
     int iTimes=9;
     long iMax = 1;
     for(;iTimes>0;iTimes--)
        iMax*=10;

     long x = 0;
     long y = 0; 
     long m = 0; 
     long n = 0;
     for(int i=0;i<iMax ;i++)
     {
        x = iMax+2;
        y = iMax-2;
        m = iMax*2;
        n = iMax/2;  
     } 
     DWORD dr2 = ::GetTickCount()-dr1;
     printf("x=%d y=%d m=%d n=%d/n",x,y,m,n);
     printf("calcu %d times,elapsed %dms/n",iMax,dr2);
}

结论是,在密集计算时,CSharp很是糟糕。C是更好选择。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。