【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
性能好不好,决定于语言,更决定于人。
C/c++能更多的接触到底层,所以它的语言是有先天的优势的。
java,C# 我觉得带来更多的东西是在性能下滑不是特别厉害的情况下,成功解决了快速开发的问题。
PHP性能,解释性语言按常理来说是比编绎性语言性能要差的,但是现在有多少PHP架构上的网站,做得很好。当然,不得不提的就是Facebook php性能有问题,找人重构底层 转译字节码 各种方式都用过之后性能不也很好么。
最终一句,技术无止境!
@johnzhang68 : 哈。哥哥啊。再喊你哥哥了。JAVA的性能计算性能有C/C++的80%?这个你也信?我估计是C/C++没优化的吧。
我说个例子,以前一个代码,上ARM版跑,纯C,算法逻辑(理论算法)已经全部PC上优化过了,每4秒跑一个单位。(用小伙子的话说,看到结果,心都凉了,我说除了毛可以抖,其他都不用抖)
后面针对ARM的硬件特性,唯一增加的汇编是使用全局寄存器变量,其他都是C代码用编译器自己玩,,每秒最终跑到30.差距是120倍。
不说别的,在有个阶段,我根据代码逻辑,调整数据存储的摆放位置,让核心高密集计算的部分所用的数据尽可能保证32Kbytes。且连续存放。就这个事情,数据改改位置,性能提升2倍左右。代码段也类似原理,改改弄弄,性能在原有基础上也提升150%左右。
有个代码原先是用多少计算多少数据。后来是一次性做完,开个大BUF,当然比32K小啦。用memcpy的方式,系统会DMA到外存。等要用的时候,开1K的buf。每次load 1K到片内,也是DMA还不会和其他数据有CACHE冲突。就这个局部代码跑跑的事情,也提升了系统整体性能的30%。
你说C++,怎么说也是C的亲戚,不是面向对象,性能也是可以做的差不多。你说JAVA。存储在哪都不知道,能快?
而且希望你要注意,我上面实际的性能,并不是在特定硬件上利用专属硬件资源做的。就是ARM11上,同时也在跑android的。虽然和linux os有切换,但至少每次切换中,比如几百个微秒内,自己不会和自己有冲突。
这里不是在谈我水平何如。谈不上我水平高,但我至少算专业的C程序员。JAVA和C/C++比速度?大家洗洗睡吧。。。
性能好不好,决定于语言,更决定于人。
C/c++能更多的接触到底层,所以它的语言是有先天的优势的。
java,C# 我觉得带来更多的东西是在性能下滑不是特别厉害的情况下,成功解决了快速开发的问题。
PHP性能,解释性语言按常理来说是比编绎性语言性能要差的,但是现在有多少PHP架构上的网站,做得很好。当然,不得不提的就是Facebook php性能有问题,找人重构底层 转译字节码 各种方式都用过之后性能不也很好么。
最终一句,技术无止境!
引用来自“Mallon”的答案
引用来自“中山野鬼”的答案
@johnzhang68 : 哈。哥哥啊。再喊你哥哥了。JAVA的性能计算性能有C/C++的80%?这个你也信?我估计是C/C++没优化的吧。
我说个例子,以前一个代码,上ARM版跑,纯C,算法逻辑(理论算法)已经全部PC上优化过了,每4秒跑一个单位。(用小伙子的话说,看到结果,心都凉了,我说除了毛可以抖,其他都不用抖)
后面针对ARM的硬件特性,唯一增加的汇编是使用全局寄存器变量,其他都是C代码用编译器自己玩,,每秒最终跑到30.差距是120倍。
不说别的,在有个阶段,我根据代码逻辑,调整数据存储的摆放位置,让核心高密集计算的部分所用的数据尽可能保证32Kbytes。且连续存放。就这个事情,数据改改位置,性能提升2倍左右。代码段也类似原理,改改弄弄,性能在原有基础上也提升150%左右。
有个代码原先是用多少计算多少数据。后来是一次性做完,开个大BUF,当然比32K小啦。用memcpy的方式,系统会DMA到外存。等要用的时候,开1K的buf。每次load 1K到片内,也是DMA还不会和其他数据有CACHE冲突。就这个局部代码跑跑的事情,也提升了系统整体性能的30%。
你说C++,怎么说也是C的亲戚,不是面向对象,性能也是可以做的差不多。你说JAVA。存储在哪都不知道,能快?
而且希望你要注意,我上面实际的性能,并不是在特定硬件上利用专属硬件资源做的。就是ARM11上,同时也在跑android的。虽然和linux os有切换,但至少每次切换中,比如几百个微秒内,自己不会和自己有冲突。
这里不是在谈我水平何如。谈不上我水平高,但我至少算专业的C程序员。JAVA和C/C++比速度?大家洗洗睡吧。。。