是谁愚弄了我的C#?
来源:互联网 发布:阿里云服务器 windows 编辑:程序博客网 时间:2024/06/10 03:53
事因是这样的,前段时间想测量一下C#的效率,然后写了两段代码,我以前的Blog也贴过,这里再贴一次:
//C++:void sort(int *a, int length){ for (int i = 1; i < length; i++) { int t = a[i]; int j = i; while ((j > 0) && (a[j - 1] > t)) { a[j] = a[j - 1];//change --j; } a[j] = t; }} int _tmain(int argc, _TCHAR* argv[]) { int buffer[30000]; int length = 30000; srand((unsigned)GetCurrentTime()); for(int i = 0; i < length; i++) { buffer[i] = rand(); } DWORD dwStart,dwStop; dwStart = GetTickCount(); sort(buffer,length); dwStop = GetTickCount(); cout<<"Time:"<<(dwStop - dwStart)<<endl; int c; cin>>c; return 0;}//Debug 1.25 second//Release 0.35 second//C#: public void Sort(int[] arr) { for (int i = 1; i < arr.Length; i++) { int t = arr[i]; int j = i; while ((j > 0) && (arr[j - 1] > t)) { arr[j] = arr[j - 1];//change --j; } arr[j] = t; } } static void Main(string[] args) { int[] iArrary = new int[30000]; Random rd = new Random(); for (int i = 0; i < 30000; i++) { iArrary[i] = rd.Next(0, 9999); } Program q = new Program(); long begin = DateTime.Now.Ticks; q.Sort(iArrary); long end = DateTime.Now.Ticks; //for (int m = 0; m < 30000; m++) //Console.WriteLine("{0}", iArrary[m]); Console.Write(end - begin); Console.ReadLine(); }//Debug 1.52 second//Release 0.90 second
奇怪的发现一个问题,Debug版本虽然只差了25%的效率,但是Release版本却差了55%的效率..想到事情的严重性,就去了www.asp.net讨说法.这是原贴的地址:http://forums.asp.net/t/1282634.aspx
然后几位高手说了自己的想法.最后拿出了指针和linq来排序.结果除开用了底层的linq以外,Relase版本的排序没有一个是有理想效率的.试问,C#这样做的目的真的是为了安全性吗?为什么不能将所有代码一口气生成本地代码呢?还是为了商业目的?到底是微软的阴谋,还是真的为了我们方便?值得深思.
- 是谁愚弄了我的C#?
- 是谁愚弄了咱中国人(转载)
- 是谁在愚弄程序员?
- 是谁动了我的网络?
- 是谁卖了我的信息资料?
- 是谁盗走了我的梦想??
- 是谁动了我的CPU!
- 是谁动了我的CPU!
- 是谁动了我的CPU?
- 忘了我是谁
- 是谁触动了我的心弦 是谁弄疼了我的文字
- 我是谁?[C#] (转)
- 我是谁?[C#]
- 谁愚弄了中国人
- 前世,是谁埋了我?
- 你是谁??我怎么到你的BLOG上来了????
- 你是谁??我怎么到你的BLOG上来了????
- 是谁动了我的钱包---也谈税收
- 使用 dom4j 解析XML
- JSP/Servlet伪静态网页实现
- 如何处理显示桌面丢失问题
- gif加上水印文字(摘抄)
- 关于chm电子书无法显示网页的解决方法
- 是谁愚弄了我的C#?
- java解析xml的具体流程
- 关于ORACLE9206升级补丁没有metalink帐号的下载方法
- 什么是勾子
- JTree中修改节点
- B/S下的URL地址安全问题
- NetSetMan IP快速切换
- Ajax 同一页面同时执行多个 XMLHTTP
- 超级牛牛无敌在线盯盘专家