有人可以解释一下GO语言的架构,与Nodejs相比,它是否更快?如果是这样的话会让它更快

时间:2015-02-02 08:11:47

标签: node.js go

有人可以解释GO语言的架构,与Nodejs相比,它是否更快?如果是这样的话是什么让它变得更快并且Go是使用C / C ++开发的,那么,与C / C ++相比,GO的性能是否超过它,并且是C / C ++与C / C ++之间唯一的区别。 Go是关于更多功能,这使得开发人员可以使用GO轻松编写代码吗?

1 个答案:

答案 0 :(得分:1)

请注意,Go 1.5将使用完全用Go编写的编译器,汇编器,链接器和运行时。

  

目标是将Go完全写入Go并删除任何C代码的代码库。 C code is for Cgo的唯一例外。

(见Go 1.5 Bootstrap plan

速度更多地是关于生成的本机代码,以及语言的简单性(没有通用性意味着需要跟踪的动态数据较少)

Go notn总是很快:" Why is go language so slow?"。
它逐步改进,特别是在垃圾收集方面,stack management side


Uvelichitelx64 Ubuntu : Intel® Q6600® one core -- Computer Language Benchmarks Game以下提及


至于" Golang Architecture",这并不适用于此(详见in this answer):

  

Go没有像Java JVM那样的VM。它直接编译成金属,如c / c ++。

Go 1.3 Linker overhaul提及:

  

当前链接器执行两个可分离的任务。

     
      
  • 首先,它将伪指令的输入流转换为可执行代码和数据块,以及重定位列表。
  •   
  • 其次,它会删除死代码,将剩下的代码合并到一个图像中,解析重定位,并生成一些整个程序数据结构,例如runtime symbol table
  •