免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: redspider
打印 上一主题 下一主题

JAVA比 C++ 高效??  关闭 [复制链接]

论坛徽章:
11
技术图书徽章
日期:2014-03-01 14:44:34天蝎座
日期:2014-05-21 22:11:59金牛座
日期:2014-05-30 17:06:14
31 [报告]
发表于 2008-09-23 21:50 |只看该作者
原帖由 ytl 于 2008-9-23 21:44 发表


好像是只有人类大脑出现革命性的进化,人工智能才有希望超越人类智慧


死循环。最后要像牛顿一样寻找“第一推动力”---上帝

论坛徽章:
0
32 [报告]
发表于 2008-09-23 21:59 |只看该作者
原帖由 qliu00 于 2008-9-23 17:24 发表
java虚拟机就是C语言编写的

任何时候,虚拟机都不可能超过本机性能。这在理论上都不可能,更别说实际上。   
  

你可以在手机上运行JAVA和C++程序,很容易就可以看到哪个快了,现在电脑发展这
么快,一 ...


读了7年计算机 从没听过这种理论
虚拟机可以对程序进行全局优化 它吐出来的也是二进制 和c编译器吐出来的代码是一个级别的
这里根本就没有一等公民二等公民之分

如果虚拟机的程序进行优化得到的效率提升+运行虚拟机本身的效率开销 > 直接用c编译的native可执行代码的运行开销
那么java程序就可能跑的更快

而这是完全可能的

论坛徽章:
0
33 [报告]
发表于 2008-09-23 22:01 |只看该作者
原帖由 5毛党党员 于 2008-9-23 18:00 发表

如果这么说java效率是不可能超过c的。。。因为c的极限就是java的极限,所有java能做的优化c都可以做

不过实际情况有些偏差,因为不是所有java做的优化,c都做了。。。所以在这些方面,java也许会比c效率高一些

就是你说的这个意思
就像jit编译出来的c#程序不一定比等价的c程序慢一样
这是有数据的 javaeye常年为这个事情骂得面红耳赤
有兴趣的可以去翻翻

论坛徽章:
0
34 [报告]
发表于 2008-09-23 22:04 |只看该作者
原帖由 madoldman 于 2008-9-23 18:05 发表
拿一个java优化过的地方和c没优化过的地方比较没意义

你这个反驳也没意义
lz这个问题也没有意义
经过世界第一专家 通过世界公认最快算法 使用0/1编写的机器码程序最快

这个问题也没有任何讨论的必要了

论坛徽章:
0
35 [报告]
发表于 2008-09-23 22:08 |只看该作者
原帖由 ytl 于 2008-9-23 21:24 发表


要想JIT针对特定的CPU平台做优化,那么编译JVM的C编译器具有针对特定的CPU平台做优化的能力,虽然不是JIT, 但显然可以通过重新编译c代码达到同样效果


没看出你这个jvm能力到c compliler能力的推理逻辑
按你的意思同理:
汇编器可以编译汇编代码 然后汇编器又是使用c编译器编译出来 那是不是c编译器也要可以编译汇编代码呢?

论坛徽章:
0
36 [报告]
发表于 2008-09-23 22:11 |只看该作者
原帖由 blizzard213 于 2008-9-23 21:59 发表


读了7年计算机 从没听过这种理论
虚拟机可以对程序进行全局优化 它吐出来的也是二进制 和c编译器吐出来的代码是一个级别的
这里根本就没有一等公民二等公民之分

如果虚拟机的程序进行优化得到的效率提 ...


jvm对程序所进行的全局优化,实际上是写jvm的程序员做的优化,如果让这个实现jvm的人去写最终的c算法,肯定比java版本效率高。
其实说java比c++效率高,就象说c++比asm效率高一样,都是不同级别的程序员进行比较,虽然在有些情况下是正确的,但不能反映一般情况

论坛徽章:
0
37 [报告]
发表于 2008-09-23 22:19 |只看该作者
原帖由 ytl 于 2008-9-23 22:11 发表


jvm对程序所进行的全局优化,实际上是写jvm的程序员做的优化,如果让这个实现jvm的人去写最终的c算法,肯定比java版本效率高。
其实说java比c++效率高,就象说c++比asm效率高一样,都是不同级别的程序员进 ...


对的对的 有一楼我已经说了
经过世界第一专家 通过世界公认最快算法 使用0/1编写的机器码程序最快

这个问题建议大家不要再谈论下去

jvm可以做的任何东西 c都可以做 因为 c可以做的任何东西 asm都可以做 asm可以做的任何东西 01都可以做
因此世界上最牛的程序员用最好的方法写的01一定最快

而其实lz所问的就是那偶然的情况

某些java是可以比c快的

这就可以了 这个问题也就没有可以争论的了

而后面大多数楼的回答 都跌进了一种形式逻辑的死循环中 没有提出什么有意义的东西

论坛徽章:
0
38 [报告]
发表于 2008-09-23 22:22 |只看该作者
原帖由 blizzard213 于 2008-9-23 22:08 发表


没看出你这个jvm能力到c compliler能力的推理逻辑
按你的意思同理:
汇编器可以编译汇编代码 然后汇编器又是使用c编译器编译出来 那是不是c编译器也要可以编译汇编代码呢?


当然即使用c来写jvm, 你也总可以跳出c语言的限制,让jit直接生成asm级别的代码,而不是用c语言间接实现。但是,这样的jvm其实可以看作(至少部分)是asm或者机器语言实现的,那么就不能那它跟c语言比效率,而应该与asm或机器语言比

论坛徽章:
0
39 [报告]
发表于 2008-09-23 22:25 |只看该作者
原帖由 blizzard213 于 2008-9-23 22:19 发表


这个问题建议大家不要再谈论下去



喜欢谈下去的就谈,不喜欢的就不谈

论坛徽章:
0
40 [报告]
发表于 2008-09-23 22:27 |只看该作者
原帖由 ytl 于 2008-9-23 22:11 发表


jvm对程序所进行的全局优化,实际上是写jvm的程序员做的优化,如果让这个实现jvm的人去写最终的c算法,肯定比java版本效率高。
其实说java比c++效率高,就象说c++比asm效率高一样,都是不同级别的程序员进 ...

没一句可以赞同的

jvm对程序(java)所进行的全局优化,实际上是写jvm的程序员做的优化(jvm)
偷换概念

如果让这个实现jvm的人去写最终的c算法,肯定比java版本效率高。
没有根据,纯粹意淫


其实说java比c++效率高,就象说c++比asm效率高一样,都是不同级别的程序员进行比较

用哪个语言的程序员级别高阿

虽然在有些情况下是正确的,但不能反映一般情况
前半句表明,个例已经反驳了你的观点,后半句是套话,无视

[ 本帖最后由 reiase 于 2008-9-23 22:30 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP