Go GC: Latency Problem Solved

https://talks.golang.org/2015/go-gc.pdf

https://www.oschina.net/translate/go-gc-solving-the-latency-problem-in-go-1-5?comments&p=1

 Go:

  • 成千上万的 goroutines

  • 使用管道进行同步

  • 执行 go 的运行时间,使 go 和用户同步

  • 空间位置的控制 (可以嵌入结构,内部指针 (&foo.field))

Java:

  • 数十个Java线程

  • 使用对象/锁的同步

  • 由C实现的运行时间

  • 对象连接指针

最大的区别在于空间位置的问题。 在Java中, 一切都是指针,然而 Go 能够让你在线程中嵌入另一个线程。以下的多层指针严重地导致了垃圾回收器的很多问题。

 

 

https://learnku.com/docs/go-blog/go15gc/6528

 Go GC: 优先考虑效率和简洁

posted @ 2020-01-11 13:05  papering  阅读(200)  评论(0编辑  收藏  举报