就在剛剛,華為總裁余承東宣布華為研發(fā)的方舟編譯器將在明天也就是8.31正式開源,這又是華為在研發(fā)操作系統(tǒng)上邁出里程碑的一步。 方舟編譯器是什么?想理解什么是方舟編譯器,首先我們還得來了解下什么是編譯器。編譯器,就是將“一種計算機語言(通常為高級語言)”翻譯為“另一種計算機語言(通常為低級語言)”的程序。高級計算機語言便于開發(fā)者們編寫、閱讀交流以及維護,如Pascal、C 、C 、Java等。 說人話就是,假如你現在去參加一個純英文的國際組織會議而恰好你不會說英語,英語就好比計算機低級語言,如果外國人想要聽懂你的中文就必須通過翻譯器也就是我們類比的編譯器來翻譯成英文,同理日本,韓文,俄文等等都需要翻譯成國際組織所能理解的英文。(當然這里面沒有所謂的語言高低級之分) 方舟編譯器是華為在P30系列國內發(fā)布會上,首次提出的,是一項很具有革命性的底層開發(fā)技術。華為官方表示使用方舟編譯器能夠將系統(tǒng)操作流暢度提升 24%、系統(tǒng)響應力提升 44%、第三方應用操作流暢度提升 60%。 方舟編譯器為什么能讓系統(tǒng)快那么多呢?華為方舟編譯器的提升主要有兩方面,一方面:以現今大部分安卓系統(tǒng)為例,現有的編譯器需要通過Java虛擬機將動態(tài)類代碼編譯為機械碼,再讓CPU去執(zhí)行,而方舟編譯器則是將將動態(tài)類代碼靜態(tài)化編譯為機器碼,繞過JAVA虛擬機直接由CPU執(zhí)行。 說人話就是:參加聯(lián)合國大會,某國代表發(fā)言(JAVA語言)要通過同聲翻譯(JAVA編譯器)聽眾(CPU)才能聽懂,一句一句的翻譯,而方舟就是把代表的發(fā)言提前翻譯打印好發(fā)給聽眾,在坐觀眾一瞬間就能聽懂。 另一方面是,系統(tǒng)在使用的時候都需要有一個內存回收極致,以往的機制是當內存占滿了才可以進行內存回收,而方舟編譯器則是提供更高效的內存回收機制,內存隨用隨回收,回收時無需暫停應用。 說人話就是:以前你扔垃圾需要攢夠一桶后停下工作,下樓去倒垃圾,有了方舟后就像旁邊有了通往樓下的垃圾口,垃圾可以隨手扔掉,不用暫停手上的工作來倒垃圾。 方舟編譯器開源的意義是什么?這里又要提一下之前華為發(fā)布自主研發(fā)的鴻蒙操作系統(tǒng),想要打造好一個操作系統(tǒng)不僅需要一個良好的用戶體驗,還需要一個龐大的軟件生態(tài)。鴻蒙系統(tǒng)如果想要短期內想要擁有一個良好的生態(tài),單靠華為一家廠商的開發(fā)能力是遠遠不夠的,而編譯器的目的是讓機器和操作系統(tǒng)更好的結合,所以這時候就需要將方舟編譯器開源,與全世界的開發(fā)者攜手共進打造好軟件生態(tài)。 方舟編譯器的開源其實是華為下的一步很大的棋,華為現今很多手機都更新運用了方舟編譯器,而且是兼容安卓的系統(tǒng)的,如果基于方舟編譯器開發(fā)的軟件越來越多,就意味著生態(tài)逐漸組建起來。 如果美國想要切斷安卓系統(tǒng)這條路,華為就可以一夜間啟用鴻蒙系統(tǒng),只要簡單的將安卓替換為鴻蒙,以外基于方舟編譯器開發(fā)的軟件通過簡單的轉換就可以繼續(xù)正常使用。所以華為利用方舟編譯器解決了安卓軟件和方舟軟件的兼容問題,能讓生態(tài)平穩(wěn)過渡。打造全新的操作系統(tǒng)。 |
|