免费注册 查看新帖 |

Chinaunix

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

[C] C 和 C++ 的速度相差多少,你知道吗? [复制链接]

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:50:28
11 [报告]
发表于 2013-07-08 10:16 |只看该作者
最需要执行效率的FPS游戏的两大引擎——id Tech 4 和 Unreal 都是用C++的。
LZ,你怎么解释呢?

论坛徽章:
3
巳蛇
日期:2013-10-03 10:41:48申猴
日期:2014-07-29 16:12:04天蝎座
日期:2014-08-21 09:24:52
12 [报告]
发表于 2013-07-08 10:44 |只看该作者
暴雪应该就是用cpp的吧.

war3, wow等等.
我感觉这些应该算是好游戏..

论坛徽章:
0
13 [报告]
发表于 2013-07-08 10:48 |只看该作者
虽然我们做的是页游,
但也深知,游戏成功失败与否,赚不赚钱不是语言决定的。
还要考虑人员成本和研发周期,
我们的ARPG是用JAVA写的,也不简单一文不值的差。
个人感觉楼主有点偏激。

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
14 [报告]
发表于 2013-07-08 11:04 |只看该作者
回复 13# jaysonboss
页游也叫游戏, 除了小白,谁玩页游?

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
15 [报告]
发表于 2013-07-08 11:23 |只看该作者
本帖最后由 __BlueGuy__ 于 2013-07-08 11:49 编辑

回复 9# reiase
哇靠,你有点常识好不好, ! 你第一天学编程啊,这个还要我教你啊 ?
脱裤子放屁的语言 怎么都不可能比C快, !

论坛徽章:
0
16 [报告]
发表于 2013-07-08 11:45 |只看该作者
回复 2# __BlueGuy__

怎么好多帖子都看到楼主提到“云风”这个人,难道跟他“有仇”啊?
   

论坛徽章:
0
17 [报告]
发表于 2013-07-08 12:03 |只看该作者
回复 15# __BlueGuy__


任何一本好一点的教科书,都不会告诉你C比C++快。你可知道为什么?

你显然不知道

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
18 [报告]
发表于 2013-07-08 12:07 |只看该作者
本帖最后由 __BlueGuy__ 于 2013-07-08 12:10 编辑
reiase 发表于 2013-07-08 12:03
回复 15# __BlueGuy__

不知道, 你说说啊 !
你是不是想表达 c++ 一定不比C慢,还是不一定比C慢 ?

论坛徽章:
0
19 [报告]
发表于 2013-07-08 12:38 |只看该作者
回复 18# __BlueGuy__

你首先要看哪方面

C++唯一慢的地方就是多态,而C实现多态的代价一定比C++高,因为C++毕竟将多态所需的计算,在编译阶段消化掉了一些。

剩下的C++只可能比C快,因为C++是强类型语言,编译阶段有更多的约束条件让编译器生成优化的代码。此外,通过模板技术,也能够在编译阶段消化掉一些计算,也就是所谓的“元编程”。目前,矩阵计算库速度最快的应该是gotoblas和openblas,用汇编写的,其次是boost库的ublas和另外一个c++库eigen3,至于c和fortran实现的blas,性能排最后。

C++程序的加载速度确实可能要比C慢一点:一方面,C++的二进制代码会更大,另一方面,C++的符号表可能更大。磁盘IO和loader解析符号表,都可能让速度加载速度变慢。

C#,据说首次运行时后,会生成native代码,所以理论上C#程序只有第一次启动慢,启动后运行速度应该和C接近。由于native代码总是根据本机的CPU生成,也应该能够更有效的利用CPU特性,特别是SIMD指令。

论坛徽章:
0
20 [报告]
发表于 2013-07-08 12:47 |只看该作者
回去好好看看《深度探索C++对象模型》,在不涉及"虚"和多重继承的情况下,基本无差别,除非你不用结构体
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP