C++比Java的性能优势是不是建立在硬件资源的基础上的这种差距之后必定会逐渐被拉进
建立在 Design Philosophy 上。性能优势变成 Portability 上的劣势。Portability 带来的开销:http://en.wikipedia.org/wiki/Java_Virtual_Machinehttp://en.wikipedia.org/wiki/Java_performance——总结得比较好。Just-in-time compilationSolution:Ahead-of-time compilation“必须在编程时知道对象的存储数量和生命周期”——这说法是不对的。没有 GC 负担:Resource Acquisition Is InitializationSmart pointer——对于要求甚高的应用,这样是一种负担。
■网友
1.大部分的操作java比c最少差了最少一个数量级。2.大部分的系统瓶颈不在具体的逻辑算法上,而在磁盘IO,网络IO等各种IO下,这部分还是C的天下,java只负责调用。3.java或更进一步,使用角本语言如Python, php等,是牺牲运行效率,以提高开发效率。一般而言码农的人工更贵,大部分的中小信息系统,运行效率没这么重要,更快的开发与迭代更为关键。运行速度可以一般简单的使用堆机器的方法提高。4.一些特别要求速度的开发比如游戏,还是要用C或C++做大部分的工作。
■网友
《黑客和画家》一书就有类似的表述,未来可肯定的是硬件性能成万倍的增长,所以现在一些效率低下(但算法/思想先进)的语言会有进入主流的机会。java已经是一个明显的例子,运行效率略差(但其实优化的不错,包括楼上提到的ahead-of-time compilation ,有些效果都不逊色),但开发效率高,已经在主流占据一席之地
■网友
在数学算法程序方面,java的速度比c++慢数倍。倍数关系,不是差的关系。
■网友
好比一个程序,C++运行时间是10,java是8.5,差距为1.5;
如果将硬件翻倍,那么C++是5,java是4.25,差距只有0.75;
【C++比Java的性能优势是不是建立在硬件资源的基础上的这种差距之后必定会逐渐被拉进】 结合效率和开发成本,是不是意味着未来Java会比C++有更多的优势?
==============================================================
如果是计算密集型程序,c是10,java估计也就是3吧,也就是说c程序的运行时间是java的1/3,同时java程序的占用cpu周期和内存均是c程序的数倍。
可以参考:http://shootout.alioth.debian.org/u32/benchmark.php?test=all\u0026amp;amp;lang=go\u0026amp;amp;lang2=gcc
推荐阅读
- 球叔教你买车|丰田也玩起了三缸机,性能堪比2.0T,这款小钢炮比GTI还狠
- dart这编程语言现在发展怎么样了,语法与Java,c#很相似,甚至更简洁
- 有车club|高性能运动化取向 宝马128ti海外售价公布 约合27.61万元起
- 趣头条|捷豹F-PACE SVR官图发布 造型细节调整/动力性能进一步提升
- 汽车|性能媲美SUV 柴油皮卡首推长城皮卡风骏7
- 非计算机专业想要利用课余时间深入自学C++,想要找到比较体面的工作大概需要啥水平
- 澎湃汽车圈|试驾名爵MG领航 运动性和实用性能否兼顾?
- 环球车讯网|空间更实用,号称史上最强性能,纯电版福特F-150渲染图
- 扉旅汽车|中国量产车性能大赛,柯迪亚克GT表现“狠”不错?
- 想买个30w—50w的轿车,外形优雅精致,气质沉静内敛。要能够顾家,稳定,安全性能好。请帮忙推荐一下
