csc.exe编译参数的问题

/*------CalcPI.cs-----*/
using System;
public class CalcPI
{
 public const int Count=100000000;
 public static void Main(string[] args)
 {
  DateTime start=DateTime.Now;
  Random random=new Random(start.Millisecond);
  int Inside=0;
  for(int i=0;i<Count;i++)
  {
   double cx=random.NextDouble();
   double cy=random.NextDouble();
   double distance=Math.Sqrt((cx*cx)+(cy*cy));
   if(distance<1.0)
   {
    ++Inside;
   }
  }
  double pi=4*(double)Inside/(double)Count;
  DateTime end=DateTime.Now;
  TimeSpan diff=end-start;
  Console.WriteLine("pi={0}",pi);
  Console.WriteLine("消耗时间:{0}ms",diff.TotalMilliseconds);
 }
  
}
说明:
1、本实例中就以这个计算圆周率的程序来比较,为了较少偶然误差,估计算次数设置很大。 
编译过程说明
编译参数文件大小文件名执行时间
/optimize3,584 字节CalcPI.exe8937.5ms
/filealign:5123,584 字节CalcPI512.exe8843.75ms
/filealign:10245,120 字节CalcPI1024.exe9031.25ms
/filealign:819232,768 字节CalcPI8192.exe8843.75ms
可见使用/filealign参数,并带一个较小的数值(必须是512的倍数),可以让生成的文件体积适度减小,并且还不太影响执行效率。另外还有一个问题就是我使用了优化,却没有提高程序效率,不知道为什么。
以下是截图:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值