這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
原文:
計劃中的新特徵:http://golang.org/s/go13todo
目前的進展情況:http://talks.golang.org/2014/go1.3.slide
golang 1.3代碼將在3.1凍結,6.1發布。
1、100% percise GC
GC是記憶體回收行程,percise GC不知道什麼意思,應該是能夠提升效能吧
2、copying stack
使用copy stack代替原來的split stack,解決所謂的“hot split”問題。
3、一系列的效能提升:
- page size增加到8k(GC暫停時間降低10%)
- 批量分配goroutine id(goroutine建立時間縮短8-66%)
- work queue使用無鎖ring
- 移除netpoll hotpath的鎖
- 等等
4、重寫channel
重寫之後部分操作的效能得到提升,提升情況可以參考下面的連結:
https://docs.google.com/document/d/1yIAYmbvL3JxOKOjuCyon7JhW4cSv1wy5hC0ApeGMV9s/pub
5、增加sync.Pool
這個不一定會出現在正式發布的版本中
6、Native Client移植
支援x86架構的Native Client,Arm版本的沒有計劃支援
7、作業系統移植
solaris:已經在進展中
Plan 9:無計劃
Arm:有志願者在做移植
8、go command and fsnotify
有一個後台進程監控源檔案是否有變化,編譯、連結時僅處理有變化的檔案,加快編譯速度
9、支援連結object-c
10、linker overhaul
更多的平行處理
11、compiler overhaul
- 將使用go重寫,原來是c語言寫的
- 並不是“重寫”,而是寫自動轉換的工具,將c語言的代碼轉換為go語言;
- 1.3版本開始,後面會持續最佳化。最佳化go語言的編譯器將比最佳化c的版本簡單很多,在後續版本中會受益很多