![]() | 1 leotso 2013-11-13 00:39:26 +08:00 via Android @ShiningRay 听都没听过,涨见识了,貌似挺厉害啊.闪闪你从哪里知道这个语言嘀呢? |
![]() | 2 ShiningRay OP @leotso The Computer Language Benchmarks Game http://shootout.alioth.debian.org/ 之前还有更多语言,后来都不弄了,现在貌似打不开了啊 |
![]() | 3 DearMark 2013-11-13 07:08:23 +08:00 via iPhone ![]() 性能 不是全部 关键字 ruby |
![]() | 4 wuxqing 2013-11-13 08:25:38 +08:00 这说明,这年头要会炒作才行 |
5 niko 2013-11-13 09:20:35 +08:00 不明觉厉 |
![]() | 6 cYcoco 2013-11-13 09:23:26 +08:00 ![]() LZ不是曹力么。。。 |
![]() | 7 10iii 2013-11-13 09:31:13 +08:00 ![]() 计算机语言这个东西,主要看背后依靠的社区。要有死忠,有大牛,有脑残粉。 这个就像你自己弄个微薄类的网站,技术上拳打推特脚踩微薄,抗压600亿,但是没人来用,你就干耗电磨损服务器。 |
![]() | 9 tabris17 2013-11-13 09:50:12 +08:00 汇编性能还要高呢。我大致看了下语法,类似F#和pascal的混合体,实在是有点不适应 |
![]() | 10 liuzhoou 2013-11-13 10:04:26 +08:00 |
11 julyclyde 2013-11-13 10:26:53 +08:00 东西好并不代表有意义 现在行业内不缺语言,也不缺实现 |
![]() | 12 ShiningRay OP @cYcoco 矮由,居然有人认得我 |
![]() | 13 ShiningRay OP @10iii 你说的一点也没错 |
14 judasnow 2013-11-13 10:54:30 +08:00 楼主 js 的那本书 翻译的不错 :-) |
![]() | 15 wdlth 2013-11-13 11:58:19 +08:00 现在缺的不是语言,性能也没必要太讲究,而是用的人,有用户、社区支持的东西能很快的发展起来,很多东西不在沉默中爆发,就在沉默中消亡。 |
16 ivgf629 2013-11-13 12:07:21 +08:00 趋势所向 |
17 matrix12346 2013-11-13 12:21:22 +08:00 王垠会炒作呢 |
![]() | 18 hooluupog 2013-11-13 14:36:50 +08:00 王垠的这篇What's wrong with Object-Oriented Programming and Functional Programming(https://yinwang0.wordpress.com/2013/11/09/oop-fp/)最近在hacker news和reddit/r/programming的首页上引起了激烈的讨论。。。 |
![]() | 19 cxshun 2013-11-13 14:42:42 +08:00 @ShiningRay 原来兄弟是曹力啊,哈哈,糗事百科不错啊。 |
![]() | 20 akira 2013-11-13 15:08:36 +08:00 原来shiningray也素大神呀,每天比上的2个站,v2ex和糗百 |
![]() | 21 heganj 2013-11-13 17:23:35 +08:00 如果我没记错的话,王垠好像说打算将ylang, yos 和 ydb 融为一体。说实话,我挺期待的 XD |
![]() | 22 ShiningRay OP @heganj squeak no os |
![]() | 23 momo5269 2013-11-13 17:43:09 +08:00 @hooluupog 这类东西很容易让人联想起joel spolsky和paul graham... 文中有些内容是老生常谈了,以前关注的几个计算机博客(博文聚合类)一年下来最少有四分之一是有同类观点的内容... |
![]() | 25 txlty 2013-11-13 21:23:25 +08:00 |
![]() | 26 ShiningRay OP @txlty 呵呵 |
![]() | 32 luikore 2013-11-14 14:24:44 +08:00 @yangff 熟练汇编的人不用全部自己写, 只要改改现代编译器的汇编输出就行了... 最简单的一种就是调分支代码块的顺序(人知道哪段代码是常态, 哪段是异常态, 但C++不知道). 而你在C++层面上调的顺序还有可能被编译器的优化改掉. |
33 yangff 2013-11-14 15:30:47 +08:00 @luikore 请使用__builtin_expect,这样编译器能更好的帮你优化,而不是手改汇编码…… 为什么都到了2013年,还有人相信手写汇编码的效率会高过编译器生成代码…… |
34 yangff 2013-11-14 15:35:34 +08:00 如果是在Windows下用MSVC的话,用 Profile-Guided Optimizations 会更好些…… |
![]() | 35 standin000 2013-11-14 16:01:58 +08:00 @yangff 这位同学没做过底层程序吧,某些时候汇编是必须的。一般来说来说效率最高的语言总是DSL,没有通吃的语言。 |
36 yangff 2013-11-14 18:11:25 +08:00 @standin000 ……算了……请允许我做一个悲伤的表情。 |
![]() | 37 standin000 2013-11-14 21:19:48 +08:00 @yangff 晕,那也允许我叹口气吧。DSL啊! |
![]() | 39 ShiningRay OP 楼上讨论的非常热烈,鼓掌,啪啪啪 |
![]() | 40 luikore 2013-11-15 14:54:01 +08:00 @yangff 手写汇编一个原因是兼容不同的编译器, 例如我想用 AVX2 指令但有些用户硬件支持而编译器不支持, 这时就要用汇编, 或者直接把机器码放到 .text 段中. 又例如写解释器, 但很多编译器不支持 __attribute__((__noinline__,__noclone__)), 其实写个脚本调整汇编输出的顺序就可以了. 很多解释器的核心部分都是简单粗暴的手写汇编, C/C++ 改 flag 的方式太迂回曲折了. PGO 作用真的很微弱. 很多情况都是只需要优化一两个点, 用 PGO 还要设计把分支跑热的样例, 最后还要检查生成的代码是否真的优化了那里... (其他不是瓶颈的部分, 是否 PGO 我管你啊!). |
41 yangff 2013-11-15 21:27:29 +08:00 @luikore 嗯,指令确实是一个问题,这时候一般是嵌入汇编吧。 要说生成代码的质量现代的编译器是要比人手工码要高的。毕竟有几个人能够充分考虑每一个优化细节……或者是手动展开递归之类的。。 除非极少部分没有被考虑到的……可能手写效率会高,比如你说的AVX2,其实MMX也是吧,虽然GCC有宏,但是我还是比较喜欢直接写,宏好长啊。。 其他的编译器我不是太熟悉,GCC和VS应该是可以在编译命令里面直接要它给汇编代码出来的…… PGO那是真没办法了,VS好像也有个宏可以要求指定分支预测的结果,但是好像那个东西不稳定还是什么的……说是会导致生成的代码有错误? |