百科问答小站 logo
百科问答小站 font logo



如何评价 Golang 1.5 更新? 第1页

  

user avatar   yangzhe1991 网友的相关建议: 
      

我觉得最大的意义应该是1.5的GC的STW时间明显下降了。从我之前在

wandoulabs/codis · GitHub

的测试结果来说,client并发数比较低的时候最大延迟基本上取决于STW的时间,在我自己的macbook上测,1.3和1.4的最大延迟是4ms和7ms,而1.5不到1ms。为了实现并发收集,1.4里给指针加了个write barrier从而影响了性能,然而1.4的并发收集又没做,于是1.4变成了一个半成品,性能(吞吐)很多场景比1.3差,而GC的停顿时间又没减少,非常蛋疼……

另外那条“默认 Go 程序使用 GOMAXPROCS 变量来设置CPU核数,之前默认是1”,并不是单纯的一个默认值的改动让你减少一行蛋疼的代码这么简单。他基于一个前提是现在goroutine的调度器的性能已经越来越好。见

docs.google.com/documen

,如果调度器性能不行,在一些场景可能会出现一种情况,就是在goroutine数量相同的情况下,用的CPU越多也就是开的线程越多,性能反而变差(见里面的表格)。而go的开发者目前认为,1.5的调度器性能nb了很多,在各种测试场景上已经不会导致多核比单核还差很多,于是改了默认值。




  

相关话题

  为什么C++的 extern "C" 里面可以使用C里面不存在的STL和引用&等C++才有的特性 ? 
  Python真的不适合游戏开发吗?游戏全都用像Python这种解释型语言写,对开发出的游戏有什么影响? 
  如何解读 Jeff Dean 等联合在 arXiv 上发布的用深度学习分析电子病历的论文? 
  柯里化对函数式编程有何意义? 
  如何看待即将发布的 C# 8.0? 
  感觉算法在程序员中快被吹上天了,如果只是搞编程的话,是不是没必要死磕算法? 
  Java 和 C# 最大的不同是什么? 
  如何评价 Google 于北京时间 5 月 19 日凌晨发布 Android 12 ?有哪些具体升级? 
  计算机系本科生有必要学习汇编语言吗? 
  如何想学点编译原理,又不想直接看龙虎之类的书籍,太多理论,干燥? 

前一个讨论
为什么日本没像德国那样对发动二战做出正式忏悔?
下一个讨论
大礼议中为什么杨廷和一定要让嘉靖认孝宗为父?究竟争的是什么?





© 2024-11-08 - tinynew.org. All Rights Reserved.
© 2024-11-08 - tinynew.org. 保留所有权利