喷下速度和性能。。哈

中山野鬼 发布于 2013/09/04 21:06
阅读 1K+
收藏 6

看了c,python等等各种语言的速度比较。说两字“无聊”,三个字“真无聊”,四个字“真心无聊”。哈。

有空比速度,不如好好琢磨业务和系统结构(不是架构)。

c语言真的算异类,因为他基本和汇编有直接映射关系。看了c代码,我自己都能想出优化汇编会是哪些语句。不是我牛,无非折腾多了。当然还有更另类的,就是变态到极致的c++ 。哈。

c要那么强,就没有其他高级语言一说了。从需求上说,有些时候,运行速度不是需求,别人不在乎500个毫秒,还是1个毫秒,真心没感觉。哈。而是在乎业务本身,从这点来说,跑的快的未必受待见。哈。

另外,谈速度,业务需求变动大,或者系统规划不好,要经常调整,那么语言本身的开发速度就要追求了。你想吃面?好啊,方便面一盒,开水一泡,搞定。还不带有毒物质的,出了问题有厂家负责嘛。除非换了客户想吃河豚,非要那把特定的刀,那就不好意思了,您老等等,过了半饷,大喊一声“OK”,流着口水的客人问“好了?”,“嗯好了,那把刀我总算磨好了。。”。

如果就谈系统速度,有两种速度要考虑,一种是单模块的运行速度,一种是单位数据量下的处理速度。这两个是有说法的。老板说,“咱不缺钱,给你100个服务器,给我望死里整”。哈,未必单模块跑的最快的,就是整体处理速度最快的。如果不考虑前后关联,就一个部分的向前,向前,再向前,通常就一个结果“裸奔”,“裸奔”完了干嘛,歇着,怎么最终还是要穿着衣服上台。

当然啦,说点事实,c语言确实就单独一个逻辑块而言,是高级语言中最快的。你如果发现它没别的快,要么是测试模块的时间太短,启动,停止的额外时间太多,搞出个不确定因素太大,要么你就是代码没写对,工具没选好。顺带喷下vs,微软在x86下的编译器,保持它的一贯风格,能卖就行。这方面,苹果的东西还是不错的,卖是要的,但一定要想做成好东西才卖(实际好不好另说,微软一向,可以卖就ok),要说最好的,还是intel,毕竟片子里面怎么转的,intel最清楚。哈。


补充说一下,在有些平台上,下面的代码,运行指令数量是不一样,

char a,b,c;
  ....
    a = b + c;


int a,b,c;
   ....
    a = b + c;

给的理由也很简单。对于char ,数据读上来要扩展到32位,才能开始计算。哈。int型就没这些东东。

而数据摆放位置和调用前后顺序,也会对速度有影响,毕竟cache太贵了嘛,这个,你去处理图片,图像数据,并发折腾折腾就知道。哈。代码没变,数据存储和调用逻辑改变,速度也会变化。

优化,是个专业,哈。讲究硬件设备的最大化利用,讲究逻辑和数据的合理组织。比语言的速度,没太多意义。c语言无非多了个上面说的异类的优势而已。

你这些道理(当然还有很多其他学问)不懂,单纯的依赖编译器(实际编译器的优化并不能很好的利用起来),写出来的c语言,也快不到什么地方去。哈。这也是我一直提醒,你要真学c,c语言没什么好学的,就那么点东西,但后面计算机组成原理,数字电路,编译原理,操作系统,离散数学,数据结构,哪样都是你要好好学的。c只是个工具而已。其他语言也一样。否则,别人就是要吃泡面,你还磨个半天刀,只是为了打开外面的包装纸,你不是sb,那么站在边上饿个半死的想吃碗泡面的人,一定是sb。哈。


加载中
1
马太航
马太航

感觉这种喷是以前对比语言速度的那种喷的升级版,都属于在流行话题中找亮点。


大部分比较性能和速度的人,在真实环境下是不会把他们区分的很细,无非就是平淡的代码人生中找一些自认为前沿的话题。


一个就简单使用框架做业务的公司,在面框架后肯定要问一些这类问题,核心目的在于打击对方日后好管理外加装X,没办法文人还有骚客之称,更何况凡人。


讨论语言速度在一定程度上还是有必要的,毕竟语言是为业务而生,而用他的人关注的热点在语言本身。有些尖端行业还是需要对比这些差异的,比如火箭啥的,做这些的人肯定业务和系统结构能力要达到一定水平,当然这些离大众开发人员都很遥远,但是有句话”不想当将军的兵不是好兵“对程序员也奏效。


谈到业务和系统结构和语言性能的对比,只能说2手都要硬,为什么现在人都喜欢谈业务和系统结构,因为普遍现象是优化它的成本低,见效快,实际,常挂在嘴边略显低端。

1
mallon
mallon

引用来自“小耶果”的答案

有时想整个宇宙的法则(包括力,能量,化学等等)这些东西是要通过多大的计算量才能达到,而且还是精确到"真实".现代计算机模拟个1024 x 768 分辨率下的下雨效果,要做到接近物理真实就拖垮了计算机.真是感慨宇宙的无穷奥妙和God的伟大.
计算机也只是宇宙微不足道的一部分
0
西门飞
西门飞
野鬼前辈总结的很好
0
中山野鬼
中山野鬼

引用来自“Gelopa”的答案

哈。
哈,哈什么哈。哈。
0
华兹格
华兹格
一看就是先生写的,你说的我大部分赞同。
0
小耶果
小耶果
有时想整个宇宙的法则(包括力,能量,化学等等)这些东西是要通过多大的计算量才能达到,而且还是精确到"真实".现代计算机模拟个1024 x 768 分辨率下的下雨效果,要做到接近物理真实就拖垮了计算机.真是感慨宇宙的无穷奥妙和God的伟大.
0
jingshishengxu
jingshishengxu
我上学时学c,老师就说c是中级语言,不是高级语言。后来直到拿delphi写桌面程序之后,才回头体会到c确实不是高级语言。拿c和其他语言是没法比的,不在一个层次上。python,ruby,lua,java,php都可以放到一起比一比,但c不能够。
0
yak
yak
看完了只记得 哈
浮生如斯
浮生如斯
+1
返回顶部
顶部