当前位置:编程学习 > C#/ASP.NET >>

最近写的一个软件,对照下c#,c++,DELPHI,VB,易语言,PYTHON,PHP等执行效率

--------------------编程问答-------------------- 你一个人不肯能是这么多语言的专家,针对相同的算法,每个语言也还有自己的独特的优化方式,所以你的讲的也就不可能得到大家的共同认可。 --------------------编程问答--------------------
引用 1 楼  的回复:
你一个人不肯能是这么多语言的专家,针对相同的算法,每个语言也还有自己的独特的优化方式,所以你的讲的也就不可能得到大家的共同认可。

+++10 --------------------编程问答--------------------
引用 1 楼  的回复:
你一个人不肯能是这么多语言的专家,针对相同的算法,每个语言也还有自己的独特的优化方式,所以你的讲的也就不可能得到大家的共同认可。
 你这是什么意思?针对相同的算法,基本可以断定这种语言的计算效率,每种语言可有自己的特性,比如面向对象,面向过程,动态特性等,但是这样一来各种束缚多了,这样对语言的执行效率的影响肯定是有的 --------------------编程问答--------------------
引用 2 楼  的回复:
引用 1 楼 的回复:
你一个人不肯能是这么多语言的专家,针对相同的算法,每个语言也还有自己的独特的优化方式,所以你的讲的也就不可能得到大家的共同认可。

+++10
 你还加10,你甚至可以加1000,苍白的言语证明了你内心的懦弱,赞同他的观点,请拿出事实。 --------------------编程问答-------------------- 不能认同楼主的观点......
我不会所有的语言,至少我知道
如果你用delphi,相同的算法
在写完程序后你还可以查汇编,然后进一步优化

一切都看是否有必要

当然,C#在 frameworks 里速度慢,这个我认同 --------------------编程问答--------------------
引用 3 楼  的回复:
引用 1 楼  的回复:
你一个人不肯能是这么多语言的专家,针对相同的算法,每个语言也还有自己的独特的优化方式,所以你的讲的也就不可能得到大家的共同认可。
 你这是什么意思?针对相同的算法,基本可以断定这种语言的计算效率,每种语言可有自己的特性,比如面向对象,面向过程,动态特性等,但是这样一来各种束缚多了,这样对语言的执行效率的影响肯定是有的


至少vb不会向你说的那样慢。你可以搜一下1楼用vb写的图像处理程序,与C++相比只有非常小的差距。 --------------------编程问答--------------------
引用 5 楼  的回复:
不能认同楼主的观点......
我不会所有的语言,至少我知道
如果你用delphi,相同的算法
在写完程序后你还可以查汇编,然后进一步优化

一切都看是否有必要

当然,C#在 frameworks 里速度慢,这个我认同
 DELPHI只比c++慢一点,但是比其他语言强很多,DELPHI的执行效率在上述语言执行效率中排行第二,加之控件多,容易实现,因此就用DELPHI了。 --------------------编程问答-------------------- are you 确定 php可以写软件? --------------------编程问答--------------------
引用 6 楼  的回复:
引用 3 楼 的回复:

引用 1 楼 的回复:
你一个人不肯能是这么多语言的专家,针对相同的算法,每个语言也还有自己的独特的优化方式,所以你的讲的也就不可能得到大家的共同认可。
你这是什么意思?针对相同的算法,基本可以断定这种语言的计算效率,每种语言可有自己的特性,比如面向对象,面向过程,动态特性等,但是这样一来各种束缚多了,这样对语言的执行效率的影响肯定是有的


至少vb不会向……
 程序小当然看不出来啊,假如程序有上百万亿次计算,差距很明显了 --------------------编程问答--------------------
引用 8 楼  的回复:
are you 确定 php可以写软件?
 难道我心血来潮,不能趁此机会对照下各种语言的执行效率? --------------------编程问答-------------------- 空口说白话
请给出测试用例



--------------------编程问答--------------------
引用 11 楼  的回复:
空口说白话
请给出测试用例
 例子没有了,当时没有保存,但是数据我统计了 --------------------编程问答-------------------- 别的语言我不会,不胡乱卖弄。

但是如果你有兴趣,用Delphi或者C++编写个算法程序,我使用相同的算法给你演示下C#代码的效率如何做到和Delphi/C++处在相同数量级。 --------------------编程问答-------------------- 坐等楼主放软件例子。 --------------------编程问答-------------------- 难道你能保证每一种语言你的算法都是最优? --------------------编程问答-------------------- 蒸包子的去卖油条当然不一样啦 --------------------编程问答-------------------- 我看不是语言慢 而是你自己慢 --------------------编程问答--------------------
引用 13 楼  的回复:
别的语言我不会,不胡乱卖弄。

但是如果你有兴趣,用Delphi或者C++编写个算法程序,我使用相同的算法给你演示下C#代码的效率如何做到和Delphi/C++处在相同数量级。

楼主,上传一个数据库文件,
公开游戏规则,
坐等大牛
--------------------编程问答-------------------- 同样的算法在不同的语言下的实现方式是有区别的。
比如同样一个操作
int[] array = new int[];
for(int i = 0,i < array.Length,i++)
{}

声明一个数组,然后循环遍历。在各个语言下具体写法大同小异,但是执行起来可能就会很不同。
注意array.Length,这里是取数组的长度,也许在某些语言,特定类型下,这值是固定的,每次取只是返回一个固定的数。
也许某些语言,特定类型下这里只是一个属性(类似C#的属性),看起来是取一个数,实际上是执行了一次遍历数组的操作。这样的话,同样一个遍历,一个是N次,一个是N*N次。

想比较具体语言执行效率起码要了解这个语言,不是说会写代码就可以来比较,表面上看起来一样的东西有不一样的处理,这里面的差异如果你不知道的话就没有资格来做比较。

如果楼主想较真,就拿出测试用例,大家一起来测一测




--------------------编程问答-------------------- =>坐等大牛打擂 --------------------编程问答--------------------
引用 19 楼  的回复:
同样的算法在不同的语言下的实现方式是有区别的。
比如同样一个操作
int[] array = new int[];
for(int i = 0,i < array.Length,i++)
{}

声明一个数组,然后循环遍历。在各个语言下具体写法大同小异,但是执行起来可能就会很不同。
注意array.Length,这里是取数组的长度,也许在某些语言,特定类型下,这值是固定的,每次取只是……
你放心,我没有用到这数组。 --------------------编程问答-------------------- 上亿次运算,完全C++最好了,C#不适合高密集型运算。当然速度慢
引用楼主  的回复:
本人做配煤软件的时候运用不同语言写了相同的算法,事实证明:C#比C++起码执行效率慢10倍左右,比DELPHI慢8-9倍左右,比VB快2-3倍左右,配煤计算有上千亿次运算,最后得出结果执行效率如上述所示。
我另外还做了易语言的,PHP的,PYTHON版本的配煤软件,结果证明没有语言能比C++强,最后我采用DELPHI的,因为DELPHI在1-3分钟内能计算完毕,PHP在15秒内没计算出来直接报错……
--------------------编程问答-------------------- 如果你手里的C#代码,经他人修改运行效率提高百倍,那能说事实证明C#比C++快10倍吗? --------------------编程问答-------------------- 又或者你手里的C++代码,经他人修改运行效率降到1/100,他人能说事实证明C#比C++快10倍吗? --------------------编程问答-------------------- 我只有一句话:没图没真相     --------------------编程问答-------------------- 不同能力的人,用不同的语言写算法对比,结果就说是某语言较差,这对某语言才不公平呢! --------------------编程问答--------------------
引用 12 楼  的回复:
例子没有了,当时没有保存,但是数据我统计了


这个回答简直就是单口相声在最后总要“抖包袱”,搞软件搞成艺人了。
--------------------编程问答-------------------- 求算法,我也很好奇,想测试下,如果是编译出的代码不理想,我们可以尝试直接写IL代码测试 --------------------编程问答-------------------- 哎,我用了C# 6年了,听到LZ这样的结论,我有点不想再用C#开发软件了。。。。。。。。 --------------------编程问答--------------------
引用 29 楼  的回复:
哎,我用了C# 6年了,听到LZ这样的结论,我有点不想再用C#开发软件了。。。。。。。。


你有三十年吃饭经验了吧
有一天楼主说饭不好,会被噎死啊
你会不会连饭也不吃了?


--------------------编程问答--------------------
引用 30 楼  的回复:
引用 29 楼 的回复:

哎,我用了C# 6年了,听到LZ这样的结论,我有点不想再用C#开发软件了。。。。。。。。


你有三十年吃饭经验了吧
有一天楼主说饭不好,会被噎死啊
你会不会连饭也不吃了?


饭不好吃,还可以吃其他的,语言不好,还可以不靠做开发软件吃饭。 --------------------编程问答-------------------- C#比C++算法慢10倍?
C#居然还比VB快上2-3倍?

LZ,你还是洗洗睡吧。 --------------------编程问答-------------------- Delhpi效率高我还是相信。我清楚Boland公司早期的实力。 --------------------编程问答-------------------- delphi 比较好 --------------------编程问答--------------------
引用 33 楼  的回复:
Delhpi效率高我还是相信。我清楚Boland公司早期的实力。


Borland“早期”的实力来自一个人,Anders。后来他被挖到微软,主持C#编译器开发,从此Borland进入没有实力的“晚期”了。和C#相比,Delphi不过是Anders的早期习作而已,所以C#比Delphi更好也就不足为奇了。 --------------------编程问答-------------------- 同意,laviewpbt的图像处理及vb的能力我见识过了, 楼主和1楼还不是同一个级别的。

引用 6 楼  的回复:
引用 3 楼  的回复:

引用 1 楼  的回复:
你一个人不肯能是这么多语言的专家,针对相同的算法,每个语言也还有自己的独特的优化方式,所以你的讲的也就不可能得到大家的共同认可。

至少vb不会向你说的那样慢。你可以搜一下1楼用vb写的图像处理程序,与C++相比只有非常小的差距。
--------------------编程问答-------------------- 挺好。

C#应用 + C++算法 --------------------编程问答-------------------- 樓主將所有語言的代碼發下來,大家學習,對比一下. --------------------编程问答--------------------
引用 3 楼  的回复:
你这是什么意思?针对相同的算法,基本可以断定这种语言的计算效率,每种语言可有自己的特性,比如面向对象,面向过程,动态特性等,但是这样一来各种束缚多了,这样对语言的执行效率的影响肯定是有的



1. 算法这东西,其实是通用的,C/C++/C#都可实现同样的算法;

2. 虽然C/C++/C#都可实现同样的算法,但写出来的程序代码的质量因人而异,假设你在C/C++里不注意内存释放,在C#里不注意合理应用GC,都会导致程序效率低下。但是,这些问题,在一本讲算法的书里面并不会特意去给你讲C/C++的编程技巧、C#的编程技巧。
--------------------编程问答-------------------- 都是高手,学习了!
高手们,多发表下意见啊,我想多学学。。。 --------------------编程问答--------------------
引用 37 楼  的回复:
挺好。

C#应用 + C++算法
啥叫C++算法啊...能吃吗... --------------------编程问答-------------------- 可以用c++开发dll给c#调用呗,就能性能和易用并存了,就是开发工作量多了一些。 --------------------编程问答--------------------
引用 13 楼  的回复:
别的语言我不会,不胡乱卖弄。

但是如果你有兴趣,用Delphi或者C++编写个算法程序,我使用相同的算法给你演示下C#代码的效率如何做到和Delphi/C++处在相同数量级。

这个确实不可能,C#运行的方式决定了它不可能和C++有同级的效率,不过它简单,开发效率高,对逻辑性要求相对较低。 --------------------编程问答-------------------- 别的不说 光是string这个最基本的类 C#和C++的实现以及底层就不一样 LZ考虑了嘛?c#里面String乱用可是影响性能占用内存的哦 --------------------编程问答--------------------
引用 43 楼  的回复:
引用 13 楼  的回复:

别的语言我不会,不胡乱卖弄。

但是如果你有兴趣,用Delphi或者C++编写个算法程序,我使用相同的算法给你演示下C#代码的效率如何做到和Delphi/C++处在相同数量级。

这个确实不可能,C#运行的方式决定了它不可能和C++有同级的效率,不过它简单,开发效率高,对逻辑性要求相对较低。

又见高人,说C#比C++慢一点我不反对,要是说效率能差到一个数量级,我只能说这是放屁。 --------------------编程问答-------------------- 楼主这种精神值得肯定,只是程序员的世界是靠代码说话,只比效率其实不用啥算法,从1加到1000000就可以呀! --------------------编程问答-------------------- 哎,我用了C# 6年了,听到LZ这样的结论,我有点不想再用C#开发软件了。。。。。。。。
------------------------------------
幸好楼主没说:屎很好吃。。。 --------------------编程问答-------------------- 没有可比性 --------------------编程问答-------------------- 还算客观,定性的看这几种平台的效率差异基本是正常的。纯计算算法上G++编译出的代码效率确实高(不用类型检查,不用管理内存当然高) --------------------编程问答-------------------- 我觉得楼主的意思是相同的算法,在不同的语言上面实现,效率不一样。楼主找到合适的就行! --------------------编程问答-------------------- 纯数字运算?那么我可以很肯定的告诉楼主,C#和C速度完全一致。还有,如果你用到了库函数,那么这里就存在不同语言的优化问题,给你举个简单的例子,C#里面的Math.Pow与C里面的Pow,一个只支持double类型,另一个支持int,那么在计算上速度当然差距大了,这里就需要自己写一个Pow函数来实现整形的幂运算,还有其他很多,例如List与ArrayList的性能差距也非常大,所以楼主的这种比较毫无意义,而且楼主竟然还拿Python做对比,解释型脚本语言有多慢楼主你知道吗?就4则运算的效率,不调用任何库,只是+-*/,不涉及任何优化问题,C#的效率比python高了50倍还多,不信楼主你自己测。 --------------------编程问答--------------------
引用 51 楼  的回复:
纯数字运算?那么我可以很肯定的告诉楼主,C#和C速度完全一致。还有,如果你用到了库函数,那么这里就存在不同语言的优化问题,给你举个简单的例子,C#里面的Math.Pow与C里面的Pow,一个只支持double类型,另一个支持int,那么在计算上速度当然差距大了,这里就需要自己写一个Pow函数来实现整形的幂运算,还有其他很多,例如List与ArrayList的性能差距也非常大,所以楼主的这种比较毫无……

++ --------------------编程问答--------------------
引用 44 楼  的回复:
别的不说 光是string这个最基本的类 C#和C++的实现以及底层就不一样 LZ考虑了嘛?c#里面String乱用可是影响性能占用内存的哦

没错,楼主如果用string一直加,和stringbuild比的话,慢了至少1000倍 --------------------编程问答-------------------- 还有,有人说C# IO读写慢,这个我做过专门的测试,C#用的StreamWriter里的Write方法,C用的fwrite、puts、fprintf等,结果令人吃惊,C#要比C还快,一个是112毫秒,一个是76毫秒。不知楼主是否用过AS SSD Benchmark这个固态硬盘性能测试工具,以前以为这个是用C写的,后来我也想做一个这样的工具,想看看他用的什么函数,于是用IDA逆了一下,惊奇的发现,是用C#写的,核心代码就是write方法,而没有调用任何win32 api,完完全全是.net库完成的,从这个只要测固态硬盘性能就会用到的工具选用C#作为开发语言就可以证明C#的性能了 --------------------编程问答-------------------- 纯运算

世界上top 10 以内的 fft快速傅里叶  以及系列的测试 http://www.fftw.org/
里面有banchmark

用C#写个更快的吧

--------------------编程问答-------------------- 还好没提到java,要不你仇恨又拉大了。。 --------------------编程问答-------------------- 上测试代码吧,空口说话谁都会,没有根据的。 --------------------编程问答-------------------- 这个不太值得去争吵吧,如果有人现在做科学计算,依然用fortran呢?,每个语言只要能存在,肯定有它的特性来支持它存在呀——

比如以前有过测试数据库开发,DELPHI VS POWERBUILDER VS VB,结果开发速度上PB第一,程序效能上DELPHI第一,初学者接受度上VB第一。


呵呵——仁者见仁,智者见智罢了。 --------------------编程问答--------------------
引用 54 楼  的回复:
还有,有人说C# IO读写慢,这个我做过专门的测试,C#用的StreamWriter里的Write方法,C用的fwrite、puts、fprintf等,结果令人吃惊,C#要比C还快,一个是112毫秒,一个是76毫秒。不知楼主是否用过AS SSD Benchmark这个固态硬盘性能测试工具,以前以为这个是用C写的,后来我也想做一个这样的工具,想看看他用的什么函数,于是用IDA逆了一下,惊奇的发现,……

这个我很想知道啊??你是逆的c写的还是c#写的?? --------------------编程问答-------------------- 等牛人 --------------------编程问答-------------------- 楼主的实验没有任何的可比性! --------------------编程问答-------------------- 没什么可比性,新项目delphi和vb应该可以不用考虑了 --------------------编程问答--------------------
引用 13 楼  的回复:
别的语言我不会,不胡乱卖弄。

但是如果你有兴趣,用Delphi或者C++编写个算法程序,我使用相同的算法给你演示下C#代码的效率如何做到和Delphi/C++处在相同数量级。


不使用非安全代码,我想,你顶多做到差距小于一个数量级,但一倍两倍的差距估计还是难免。 --------------------编程问答-------------------- 楼主别扯了,上代码吧. --------------------编程问答-------------------- --------------------编程问答-------------------- 赫赫,正在移植一个ai算法c++的到android上,就是java拉

c++在手提上跑,几乎感觉不到延迟,android在三星机器上跑需要3秒,加了些log明显看到

是慢很多,不过原因很多

正在调试,调好了公布下

最主要原因是用的1500+三星机器,和i5的cpu没的比吧 --------------------编程问答--------------------
引用 54 楼  的回复:
还有,有人说C# IO读写慢,这个我做过专门的测试,C#用的StreamWriter里的Write方法,C用的fwrite、puts、fprintf等,结果令人吃惊,C#要比C还快,一个是112毫秒,一个是76毫秒。不知楼主是否用过AS SSD Benchmark这个固态硬盘性能测试工具,以前以为这个是用C写的,后来我也想做一个这样的工具,想看看他用的什么函数,于是用IDA逆了一下,惊奇的发现,……


你有没有考虑一个是用缓存的,一个是不用缓存的?有没有考虑到物理的缓存?有没有考虑到其他程序对磁盘的读写? --------------------编程问答-------------------- --------------------编程问答-------------------- 怎么没说到java。
我很想知道。。 --------------------编程问答--------------------
引用 35 楼  的回复:
引用 33 楼 的回复:
Delhpi效率高我还是相信。我清楚Boland公司早期的实力。


Borland“早期”的实力来自一个人,Anders。后来他被挖到微软,主持C#编译器开发,从此Borland进入没有实力的“晚期”了。和C#相比,Delphi不过是Anders的早期习作而已,所以C#比Delphi更好也就不足为奇了。


好,也不是任何方面都好的。。。。
C#有个中间层,安全可控了,是好,但是速度慢了,也是事实
delphi的代码,几乎与c是一一对应的,所以c比c#快10倍,delphi比c#快9倍,基本印证了这一点

最简单,使用ms自己的数据库管理器,sql2000的查询分析器操作响应要比sql2005的SQL Server Management Studio要快很多
为什么?就是楼主的结论
--------------------编程问答--------------------
引用 55 楼  的回复:
纯运算

世界上top 10 以内的 fft快速傅里叶 以及系列的测试 http://www.fftw.org/
里面有banchmark

用C#写个更快的吧

我也想这么说 --------------------编程问答-------------------- 看到楼主的另一个帖子 http://topic.csdn.net/u/20120824/16/711f616f-5f68-4e40-84de-db8c4d17713b.html?33337
我这才明白,楼主不可能拿出什么“7种语言”的测试程序来,因为从其思路就知道实际上的经验层次定位了。楼主纯粹是开玩笑的。 --------------------编程问答-------------------- 还是赶紧找个正经工作吧。lz需要一个正式工作,长点经验,做点真正的所谓(那个帖子中所谓的)“大规模商业化软件”。 --------------------编程问答-------------------- 还是赶紧找个正经工作吧。lz需要一个正式工作,长点经验,做点真正的所谓(那个帖子中所谓的)“大规模商业化软件”。 --------------------编程问答-------------------- 貌似本人一直在开发企业级应用 --------------------编程问答-------------------- 貌似本人一直在开发企业级应用,觉得应该比hello world级别的应用好点 --------------------编程问答--------------------
引用 72 楼  的回复:
看到楼主的另一个帖子 http://topic.csdn.net/u/20120824/16/711f616f-5f68-4e40-84de-db8c4d17713b.html?33337
我这才明白,楼主不可能拿出什么“7种语言”的测试程序来,因为从其思路就知道实际上的经验层次定位了。楼主纯粹是开玩笑的。


ms不会拿自己的产品开玩笑吧
使用ms自己的数据库管理器,sql2000的查询分析器操作响应要比sql2005的SQL Server Management Studio要快很多
为什么? --------------------编程问答--------------------
引用 74 楼  的回复:
还是赶紧找个正经工作吧。lz需要一个正式工作,长点经验,做点真正的所谓(那个帖子中所谓的)“大规模商业化软件”。
 你这是什么意思?我本人做过的软件项目有30多个,网站也很多,用过的语言多种,c#是我比较喜欢的一种,你甚至可以说我技术差,但是一个技术差的人基本上他写的各种语言程序基本上是同一个档次吧,因此可以基本断定语言的执行效率,请面对c#语言的执行效率的事实,不要说我有关生活的其他方面。 --------------------编程问答-------------------- 统计。。。没有基础的统计都是假的
引用 12 楼  的回复:
引用 11 楼  的回复:
空口说白话
请给出测试用例
 例子没有了,当时没有保存,但是数据我统计了
--------------------编程问答-------------------- 楼主,看看同一个语言不同写法的性能差异吧,没优化过的我就不发了,要多慢都行。

第一次优化


第二次优化


第三次优化


第四次优化


第五次优化


第六次优化


...如何? --------------------编程问答-------------------- 每一种语言都有其独到之处吧,不能以一个算法来体现一种语言的优劣性 --------------------编程问答-------------------- 每一种语言都有其独到之处吧,不能以一个算法来体现一种语言的优劣性 --------------------编程问答-------------------- 测试用例都拿不出来,就来黑C#和VB?
VB可是我入门语言,C#是我现在用的,这两种不是你想黑,想黑就能黑! --------------------编程问答--------------------
引用 71 楼  的回复:
引用 55 楼  的回复:
纯运算

世界上top 10 以内的 fft快速傅里叶 以及系列的测试 http://www.fftw.org/
里面有banchmark

用C#写个更快的吧

我也想这么说

根据介绍,那个FFT的性能核心是根据指令集优化的,手工的汇编优化。你能用纯C或C++写个更快的吗?
汇编优化 > C优化 > C++优化 > C#优化,这个在一般情况下是没异议的。
但是楼主把C++与C#之间的差距说得太夸张了,严重超出本人经验范围。
本人经验认为,3种情况C#与C++效率基本没区别:
1、CPU计算型的C#与C++基本没有差别。
2、堆栈访问C#与C++没有区别。
3、数组的密集指针访问效率C#略低于C++,数据量越大越可忽略。
C#效率低于C++主要有4种情况:
1、零碎的堆内存访问,因为是二次寻址访问,一般情况下效率下降不到一半
2、对象必须创建在堆上,相对于C++很多时候把对象创建在堆栈上,不考虑高速缓存的情况下效率与C++相比可能有2-3倍的差距。
3、零碎的非安全数组访问,如果编译器没有优化掉临界判断,这是最糟糕的情况,效率下降多少与CPU的分支预测关系比较大,效率与C++相比可能有3-8倍的差距,一般情况下也不会有楼主说的那么极端。
4、创建大量的一次性零碎对象,给垃圾回收带来压力,这个也是比较可怕的。
另外,零碎的内存对象需要更多的内存,某些时候可能引起高速缓存命中下降,效率可能下降95%以上,但是C++也可能产生有这情况。
对于项目总体从效率优化的出发,一般不会出现C#比C++慢一倍的情况。当然极端的特殊情况除外,比如楼主的C++代码与C#代码属于这种情况。

引用 78 楼  的回复:
你这是什么意思?我本人做过的软件项目有30多个,网站也很多,用过的语言多种,c#是我比较喜欢的一种,你甚至可以说我技术差,但是一个技术差的人基本上他写的各种语言程序基本上是同一个档次吧,因此可以基本断定语言的执行效率,请面对c#语言的执行效率的事实,不要说我有关生活的其他方面。

楼主的意思是,乒乓球打得好,那么羽毛球也在同一水平? --------------------编程问答--------------------
引用 77 楼  的回复:
ms不会拿自己的产品开玩笑吧
使用ms自己的数据库管理器,sql2000的查询分析器操作响应要比sql2005的SQL Server Management Studio要快很多
为什么?

是啊。同样是操作系统,很多时候msdos比windows快的不是一点点。 --------------------编程问答-------------------- 楼主看看这个,同一种语言不同的优化造成的速度差异

没有优化


第一次


第二次


第三次


第四次


第五次


第六次


没优化和优化后相差4170倍。。。那么是C#慢,还是我们的脑子慢呢? --------------------编程问答-------------------- 例子没保存?
那至少把C#代码发出来
然后 把测试结果发出来再黑C#吧 --------------------编程问答--------------------
引用 85 楼  的回复:
引用 77 楼 的回复:
ms不会拿自己的产品开玩笑吧
使用ms自己的数据库管理器,sql2000的查询分析器操作响应要比sql2005的SQL Server Management Studio要快很多
为什么?

是啊。同样是操作系统,很多时候msdos比windows快的不是一点点。


看你在前一楼,列举了各种情况,好像好打算正经讨论问题
(虽然我这个c#外行感觉好像漏了中间CRL?运行方式的慢)

msdos比windows快,倒可能是你说的极端情况了

至于举出优化前后的例子
那么ms的sql工具,如果有优化余地,ms会不去优化它?你们能比ms还优化得更好?

即使能优化,我们也应该按普通人的开发模式、水平来讨论
毕竟不可能每个项目都要这么优化的,又正好有这么大可优化的余地
这样的例子倒又是极端情况了 --------------------编程问答--------------------
引用 85 楼  的回复:
引用 77 楼  的回复:
ms不会拿自己的产品开玩笑吧
使用ms自己的数据库管理器,sql2000的查询分析器操作响应要比sql2005的SQL Server Management Studio要快很多
为什么?

是啊。同样是操作系统,很多时候msdos比windows快的不是一点点。



DOS不支持多任务,而是DOS是实模式的不是保护模式的,不区分用户态与内核态。
--------------------编程问答-------------------- DOS不支持多任务,而且DOS是实模式的不是保护模式的,不区分用户态与内核态。 --------------------编程问答-------------------- 一把刀在废物和武林高人手里发挥的效果肯定不一样。

废物可能说这把刀太重,那把刀太轻,这个没开锋,那个没上油。

但在高手手里,它们都可以瞬间达到目的。
--------------------编程问答-------------------- 所以,要想让DOS崩溃掉,太容易了……

要想黑DOS系统,也太容易了……

要想写个DOS的病毒,太容易了……

你用DOS系统,我想窃取你电脑里的机密,太容易了……


所以你想用DOS你就用吧,我反正没意见。

--------------------编程问答--------------------
引用 86 楼  的回复:
楼主看看这个,同一种语言不同的优化造成的速度差异

没有优化


第一次


第二次


第三次


第四次


第五次


第六次


没优化和优化后相差4170倍。。。那么是C#慢,还是我们的脑子慢呢?

你这是什么意思?比较执行效率请参考一下几点
1:相同的电脑执行环境,比如,相同的硬件配置,相同的程序执行环境,相同的操作系统。
2:我们比较的是执行效率,不是计算优化,执行效率是指在单位时间内的计算次数,而计算优化是程序改变算法获得更好的执行效率,请不要把概念搞错了,比如执行效率的比较是在基于相同的计算次数而比较程序的效率,你说的计算优化,你说你可以修改c#算法,我也可以说我可以修改c++,DELPHI的计算算法,我甚至可以在DELPHI中镶嵌ASM汇编代码,你能比得过?执行效率和计算优化不要搞混了。
3:本人对于c#算是熟悉,是我经常开发用的语言,不至于说是相当菜。
4:本人用了相同的算法,也就是说基于相同的计算次数来比较执行效率,因为这样比较合理的。 --------------------编程问答--------------------
引用 88 楼  的回复:
看你在前一楼,列举了各种情况,好像好打算正经讨论问题
(虽然我这个c#外行感觉好像漏了中间CRL?运行方式的慢)

msdos比windows快,倒可能是你说的极端情况了

至于举出优化前后的例子
那么ms的sql工具,如果有优化余地,ms会不去优化它?你们能比ms还优化得更好?

即使能优化,我们也应该按普通人的开发模式、水平来讨论
毕竟不可能每个项目都要这么优化的,又正好有这么大可优化的余地
这样的例子倒又是极端情况了

JIT编译毕竟是一次性的,除非你的函数只调用一次或者类只引用一次,这也是极端化的。
个人认为,除了核心,ms的东西一般情况下主要考虑的是易用、可用、靠性,不是性能优化。
C#的指针优化的复杂度和C++差不多,应该算普通还是极端呢?而且还可以很简单的引入自动化的优化机制,比如基于模板或者依靠.net元数据的代码生成技术,用C++做这种优化我估计只能用手敲了,不仅开发效率低,程序的可靠性也不是那么容易保障了。 --------------------编程问答--------------------
引用 92 楼  的回复:
所以,要想让DOS崩溃掉,太容易了……

要想黑DOS系统,也太容易了……

要想写个DOS的病毒,太容易了……

你用DOS系统,我想窃取你电脑里的机密,太容易了……


所以你想用DOS你就用吧,我反正没意见。


人家举个dos快的例子,还不一定对
你就把c#以外的语言都套上了 类似dos相对win不安全 的帽子了? --------------------编程问答--------------------
引用 94 楼  的回复:
个人认为,除了核心,ms的东西一般情况下主要考虑的是易用、可用、靠性,不是性能优化


明明可以立即反应的,应用响应如果延时超过2秒钟,就谈不上易用、可用了
ms不可能不懂这个,只能说明ms也是没办法了 --------------------编程问答--------------------
引用 96 楼  的回复:
明明可以立即反应的,应用响应如果延时超过2秒钟,就谈不上易用、可用了
ms不可能不懂这个,只能说明ms也是没办法了

你说的这种情况我怎么就没碰到呢?难道是因为我用的2008? --------------------编程问答--------------------
引用 96 楼  的回复:
引用 94 楼  的回复:
个人认为,除了核心,ms的东西一般情况下主要考虑的是易用、可用、靠性,不是性能优化


明明可以立即反应的,应用响应如果延时超过2秒钟,就谈不上易用、可用了
ms不可能不懂这个,只能说明ms也是没办法了

从我看过的.net源码来看,基本上谈不上性能优化,能用就行的那种(个人感觉)。 --------------------编程问答--------------------
引用 97 楼  的回复:
引用 96 楼 的回复:
明明可以立即反应的,应用响应如果延时超过2秒钟,就谈不上易用、可用了
ms不可能不懂这个,只能说明ms也是没办法了

你说的这种情况我怎么就没碰到呢?难道是因为我用的2008?



以前win2003下、现在win7下,都安装过,菜单的反应速度,都是差别很明显
如果0.5秒以内,再优化也没感觉;超过1秒的,就明显感觉慢了
--------------------编程问答--------------------
引用 95 楼  的回复:
引用 92 楼  的回复:
所以,要想让DOS崩溃掉,太容易了……

要想黑DOS系统,也太容易了……

要想写个DOS的病毒,太容易了……

你用DOS系统,我想窃取你电脑里的机密,太容易了……


所以你想用DOS你就用吧,我反正没意见。


人家举个dos快的例子,还不一定对
你就把c#以外的语言都套上了 类似dos相对win不安全 的帽子了?



我这里只涉及到Windows与DOS,没有涉及C#一分一毫,你看清楚了再说话。

补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,