![]() | 1 sqbing 2012-09-19 08:08:28 +08:00 看结果,没有可比性啊 |
2 guotie 2012-09-19 08:56:56 +08:00 go怎么会这么差?! |
![]() | 3 ch_linghu 2012-09-19 09:42:47 +08:00 java 用的是 Jetty, golang 用的是内置的 http server。这可能是原因之一吧。 |
![]() | 4 frittle 2012-09-19 10:21:24 +08:00 |
![]() | 5 huacnlee 2012-09-19 10:40:56 +08:00 超出预料啊! |
6 DeepBlue 2012-09-19 11:19:03 +08:00 数据库访问层的实现引起的问题,与语言本身关系不大。 我相信一个烂程序员可以把C写的比PHP还慢:) |
![]() | 7 virushuo 2012-09-19 11:57:05 +08:00 这个显然是数据访问层造成的。 另外Java也确实没有人们认为的那么慢,在超过2个core,并有大量内存的机器上,性能还是很不错的。 |
![]() | 8 G2bN4dbX9J3ncp0r 2012-09-19 12:06:10 +08:00 再差应该也比Ruby快吧 |
![]() | 9 iwinux 2012-09-19 12:11:27 +08:00 我比较关心 startup time 诶,这个 Go 应该胜过 Java 吧 |
10 fwee 2012-09-19 14:38:15 +08:00 @lidashuang 关键GO很重要的优势就是‘速度快’。而ruby不是 |
![]() | 11 soulhacker 2012-09-19 15:04:44 +08:00 Java 过了幼儿期之后一直都是服务器端性能标杆,和高效的 C 代码也只差一个数量级;JVM 主要问题是初始化慢以及 GC 带来的内存应用问题,不过在 always-on 的服务器端初始化问题较不重要。 不太了解这个测试中 Go 具体性能问题在哪里,不过这个语言还年轻,这么比不太公平。 |
![]() | 12 yys 2012-09-20 11:15:35 +08:00 什么都可以快 什么都可以慢 要看应用上下文 如具体人,具体应用 ... |
![]() | 13 ikbear 2012-09-20 12:20:59 +08:00 Benchmark redis-like server http://vladimir-mihailenco.appspot.com/articles/5001/benchmark-redis-like-server/ |
14 clowwindy 2012-09-20 18:00:58 +08:00 ![]() 语言之间最重要的差别是语法。作者比较了两个语言代码的差异,这点很有意思。 性能测试没意思,比的是两个 http server 实现的优劣。如果原理一致,http server 之间性能是没什么差别的,就好像拿 Tornado 和 nginx 比静态文件的处理,速度也差不多。 比较语言本身的性能,就要上各种算法。 量化后的结果可以看 Computer Language Benchmarks Game,Java 7 速度和 gcc C 是可比的(慢1~2x 左右),Go 是一门慢 3~10x 的语言,和 Javascript V8 比较接近。Python、Ruby 基本上是慢 10~100x 的语言,速度上和上述几种语言不具有可比性。 http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=go&lang2=gcc 我觉得从这点上考虑,Javascript 前景更好一些,具有和 Go 差不多的性价比(速度 / 代码大小),具有成熟的社区,庞大的库,能做的事情覆盖前后端,移动,甚至线下处理。我现在就经常在 mapreduce 上用 node.js 的 cheerio 分析网页。除了 jQuery 的 API,还有什么语言的什么接口更适合用在网页分析上呢? |
![]() | 15 skywinger 2012-09-20 22:25:29 +08:00 Scala在JVM上,性能很不错,可以试试 |
![]() | 16 ayanamist 2012-09-21 00:19:28 +08:00 玩了两天Go,这语言不改名字,将会和C#一样叫好不叫座。 在搜索引擎中,用go加问题根本搜不出东西,而用golang则只能在官方小组里找到有价值的信息(因为正常发帖都是谈Go) 第三方包的严重匮乏,官方文档也极度匮乏,社区支持因为名字的问题悲剧了。这样的语言性能再好也不见得能流行。 另外Go还有一个坑:gcc-go和go build编译出来的东西完全不一样,前者有时候性能可以是后者的2X。但前者不受官方重视。 其实话又说回来,Go语言的设计没有非常突出的地方,Go的代码应该是可以完美自动转化成相应的C代码的 |
![]() | 18 ayanamist 2012-09-21 15:18:56 +08:00 @feilaoda 欢迎吐槽。写的比C舒服的语言多的很,不管是Python、Ruby还是Java、C#,甚至满是坑的C++,没必要圈死在Go上。 Go的语法确实从理论上可以完美转换到C上的,interface是一种编译期的检查,func (thisO *Object) funcName(Arguments *Object) Object{}这种完全可以替换为Object funcName(*Object thisO, *Object Arguments){}这种C格式。至于for语句就更不说了。map和slice也都在C中有第三方库可以支持,Go只是内置了这种支持。select语句是对select、epoll、kqueue的上层封装,chan是socket queue的上层封装。range也只是一个utility。所以Go的核心语言设计是可以和C完全对应起来的。语言设计本身,Go离C并不远,距离远小于C++、Java、Python、Ruby这类真正的高级语言。 唯一值得陈赞的就是GC的设计了,不过GC设计本身就很有争议。 我个人觉得Go的定位以及命名都充满了迷茫。 |
![]() | 19 reus 2012-09-21 15:38:48 +08:00 第一次见用web应用来比较两个语言的…… 要比就该把数据库、http服务器这些都去掉 |