为什么java性能比C#好那么多????
同一台电脑,最简单的实验,a++循环执行百亿次,java用时5.8s,C#用时25.4s,为什么相差了40倍那么多???还有java定时器,间隔可以达到1ms一次,而C#...
同一台电脑,最简单的实验,a++循环执行百亿次,java用时5.8s,C#用时25.4s,为什么相差了40倍那么多???
还有java定时器,间隔可以达到1ms一次,而C#最多就16ms,为什么?? 展开
还有java定时器,间隔可以达到1ms一次,而C#最多就16ms,为什么?? 展开
展开全部
你代码写的有问题。还有要看你用的编译器,以及相应的优化开关有没开
C#的Timerk控件设计的时候就没想过要精确到1ms。
还有 Debug模式和Release模式下的运行速度是不同的。
C#的Timerk控件设计的时候就没想过要精确到1ms。
还有 Debug模式和Release模式下的运行速度是不同的。
追问
不可能有问题啊,代码就是for循环,里面a++就完了。
优化开关真不知道是什么。
都是在release情况下。我也测过VS的debug速度和release速度差不多,eclipse的release比debug快得多。
C#的timer是System.Threading.Timer,最轻量级那个。
java用自定义的线程模拟定时器可以做到1us,而C#调用Windows底层API,能做到100ns
追答
Computational Performance Benchmarks
http://www.tempest-sw.com/benchmark/
把里面的c# 和java代码都下下来,跑PI才好比。空循环没什么意义。还有 C#是要先编译成MSIL再通过JIT变成机器码的。另外,把你的 java版本和 C#版本都贴出来啊,两者性能不可能差这么多。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有这一说法,也许我们只看到JAVA写了许多的桌面软件,而C#写了桌面的话性能惨不忍睹。也不知用C#写的PAINT.NET怎样样了,也许是这个大学的学生写着玩的吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-08-28
展开全部
C#最多就16ms?弄错了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,C#现在有2种编译方式:
先编译为IL字节码,再由CORE CLR虚拟机解释执行
net native技术,直接静态AOT编译为机器码
而且编译有多种宏开关可以进行编译优化
而且连代码都不贴。。
看来是为黑而黑,还黑不到点子上,能跟C#比性能的虚拟机语言还没出生呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询