解决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、本实例中就以这个计算圆周率的程序来比较,为了较少偶然误差,估计算次数设置很大。编译参数 | 文件大小 | 文件名 | 执行时间 |
/optimize | 3,584 字节 | CalcPI.exe | 8937.5ms |
/filealign:512 | 3,584 字节 | CalcPI512.exe | 8843.75ms |
/filealign:1024 | 5,120 字节 | CalcPI1024.exe | 9031.25ms |
/filealign:8192 | 32,768 字节 | CalcPI8192.exe | 8843.75ms |