xs := make([]int,60000)for i := 1; i < 60000; i++ {xs = append(xs,i)}
--
--
官网: http://golang-china.org/
IRC: irc.freenode.net #golang-china
@golangchina
--
问一个愚笨的问题,既然python可以用c实现集合类的算法,那么go为什么不用呢?
我个人的感觉来说,go虽然是编译型的语言,但现在速度上并不及c/c++和java,在某些计算密集型的应用中,甚至不如python
(因为python的这部分代码是c实现的)。
我认为,这得从 go 的源头来找原因。go 是 google 那些人提出来的,对于 google 这种公司来说,代码的运行速度并不是非常重要的一件事。
最重要的是高并发和web开发的支持,所以在 go 语言里内建了 coroutine 的支持,而且你能在标准库里看到 template,
http 等的支持。最奇葩的是居然还有内建的 suffixarray。
至于运行速度嘛,差不多就行了。他们目前的主要精力并不在这。
--
Best Regards,
Leo Jay
在 13-1-21,Leo Jay<python...@gmail.com> 写道:
> --
> --
> 官网: http://golang-china.org/
> IRC: irc.freenode.net #golang-china
> @golangchina
>
>
>
>
--
从我的移动设备发送
*Regards,
Linker Lin
linker...@gmail.com*
PS: 插入0-60000的数据,Python和Go的插入时间相当(几十毫秒)。差距可能发生在这60000个数据在union时生成新的Hash表时的消耗。Python的Hash表中,记录了key的hash值,在遍历并插入新的Hash表时,不需要重新计算而遍历Go的map并把key插入新的map时,需要重新计算key的hash值不知是否因为这个影响的性能
我个人的感觉来说,go虽然是编译型的语言,但现在速度上并不及c/c++和java,在某些计算密集型的应用中,甚至不如python
(因为python的这部分代码是c实现的)。
我认为,这得从 go 的源头来找原因。go 是 google 那些人提出来的,对于 google 这种公司来说,代码的运行速度并不是非常重要的一件事。
最重要的是高并发和web开发的支持,所以在 go 语言里内建了 coroutine 的支持,而且你能在标准库里看到 template,
http 等的支持。最奇葩的是居然还有内建的 suffixarray。
至于运行速度嘛,差不多就行了。他们目前的主要精力并不在这。