CSharp(C#) 与 C 计算性能(效能)比较
以下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是更好选择。
- 上一篇: weblogic中查看内存与修改内存
- 下一篇: C#接口性能测试--计算执行时间
