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