《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > Go 1.5編譯器與運行時環境由Go語言自身編寫

Go 1.5編譯器與運行時環境由Go語言自身編寫

2015-09-18
關鍵詞: 編譯器 語言

  Go語言1.5版本擁有一個用Go語言自身編寫的完整工具鏈,一個更快的垃圾回收器和在每一個可用的CPU上運行的goroutine。
  Go語言以前的版本通過改善編譯器、垃圾回收器、開發工具和對更多平臺(比如:Android/ARM, BSD, Solaris, NaCl)的支持來獲得更優秀的性能。Google曾經提到,它對每個Go語言版本都許下了 兼容性的承諾 ,基本上說“除了安全問題,不會做出不兼容的更改”
  Go語言1.5版本和原來的版本相比沒有什么不同,盡管一些用戶抱怨在編譯和運行他們的程序時會遇到一些問題, 并在Go 問題列表 中羅列了出來。然而Google認為1.5版本是一個“有意義的版本”,大部分變化是底層的變化,以及性能的提升。下面是一些改進:
  編譯器、鏈接器、匯編器和運行時環境已經從C語言編寫轉換成了Go語言編寫,還有一小部分是匯編語言編寫的,已經徹底摒棄了最初的C語言代碼。 根據Go語言的設計者Robert Pike的說法 ,Go語言編譯器通過工具自動轉換和一些最終的手動清理操作來避免引入新的bug。在一些工具的幫助下,開發者手動重寫了Go語言運行時環境。剛開始時,新的編譯器由于一些C語言結構體沒有轉換成有效的Go語言代碼,導致編譯速度慢了10倍,但是在后來的開發完善過程中,性能得到了徹底的提高。摒棄C語言的一些好處如下:一個代碼庫適用于所有平臺,可以更容易的加入新平臺,擁有一個統一的采用較少代碼量和簡易維護量的工具鏈。缺點是:構建需要花費兩倍時間,這是因為Go語言代碼也是由工具編譯生成的。Google計劃在1.6版本中降低構建所花費的時間。
  一個編譯器、一個鏈接器、一個匯編器的目標是要實現通過$GOARCH 和 $GOOS這兩個環境變量來配置CPU架構和操作系統。
  Go 1.5很有必要從源代碼來創建分布式。
  在標準的stop-the-world垃圾回收器中加入了新的并發垃圾回收器,將垃圾回收活動從原來的50毫秒降低到10毫秒以下。大家可以在 設計文檔 和這些 幻燈片 中找到新的并發垃圾回收器的更多細節。由于有了并發垃圾回收器,程序運行速度與Go1.4相比,提高了幾個百分點。
  在64位架構的大趨勢下,一些32位的分支將無法再使用。
  新的Go指令追蹤工具可以對程序執行細粒度的追蹤。
  在Go 1.5中引入的一個重大改變是并發的最大線程數量從1上升到了可用的CPU的數量。如果一個程序依賴于協同程序的執行順序,它很有可能遇到意想不到的結果,并且需要修復。更多的細節參考 設計文檔 。
  其他改進如下:所有資源庫支持內部包, 外部依賴 ,go文檔命令以及其他一些改進。我們在 發行通知 中介紹了關于Go 1.5新特性的更多細節。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 开心五月激情综合婷婷| 亚洲va欧美va国产va天堂影| 久久中文字幕网站篠田优| 色噜噜人体337p人体| 日韩乱码中文字幕视频| 又硬又粗进去好爽免费| A级毛片内射免费视频| 欧美巨大xxxx做受中文字幕| 国产婷婷色一区二区三区深爱网| 中文字幕乱码人在线视频1区| 男女做羞羞的事漫画| 国产精品多人p群无码| 久久大香伊蕉在人线国产h| 精品无码综合一区二区三区| 国产香蕉视频在线| 久久精品国产亚洲一区二区| 色偷偷888欧美精品久久久| 国产精品嫩草影院免费| 久久久久久久久中文字幕| 男人j桶进女人p无遮挡在线观看 | 免费做暖1000视频日本| 2015日韩永久免费视频播放| 日本免费高清一本视频| 人妻妺妺窝人体色WWW聚色窝| 日韩精品一区二区三区老鸭窝| 成年人在线免费观看| 亚洲精品www久久久久久| 高清成人爽a毛片免费网站| 女班长的放荡日记高h| 亚洲av无码专区国产乱码不卡| 美女扒开内裤无遮挡网站| 国产精品麻豆va在线播放| 久久久久久亚洲精品| 欧美三级在线看中文字幕| 又爽又黄又无遮挡的视频在线观看| 国产精品喷水在线观看| 婷婷四房综合激情五月在线| 亚洲免费小视频| 精品国产污污免费网站入口| 国产精品久久亚洲一区二区| 中文天堂在线视频|