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 1
性能 不是全部
关键字 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 1
LZ不是曹力么。。。
|
7
10iii 2013-11-13 09:31:13 +08:00 2
计算机语言这个东西,主要看背后依靠的社区。要有死忠,有大牛,有脑残粉。
这个就像你自己弄个微薄类的网站,技术上拳打推特脚踩微薄,抗压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好像也有个宏可以要求指定分支预测的结果,但是好像那个东西不稳定还是什么的……说是会导致生成的代码有错误? |