今日晚間,榮耀老熊發文科普方舟編譯器及EROFS超級文件系統,我們來看一下吧。
以下為榮耀老熊科普方舟編譯器及EROFS超級文件系統:
編譯器到底是干嘛的?
首先講講編譯器是什么東西吧?其實絕大多數用戶都沒機會親眼看到或者親手摸到這個東西。程序員們在寫好應用的代碼之后,在變成你手機上安裝的應用之前還差最后一步,就是編譯。他們會把代碼導入編譯器中,經過電腦一番不明覺厲的操作之后,就生成了可以直接運行的應用。打個比方,編譯就像畫龍點睛一樣,必須點了睛之后龍才能活過來、飛起來。
從根兒上提升系統流暢
電腦上的應用,絕大多數都是整個編譯好了給用戶使用,叫靜態編譯。而手機應用有些特殊,有一部分代碼需要在手機上現編現用,這叫動態編譯。編譯這個操作是非常吃系統資源的,程序員們是用電腦編譯手機應用,那自然要快一些,可是動態編譯是用手機的CPU在做編譯啊,不造成卡頓才怪。打個比方,這就像木匠在干活的時候,還要一邊給自己制造刨子、鑿子、鋸子這些工具,效率能高得了嗎?
這次方舟編譯器推出之后,我認為將會從根兒上大大提升系統流暢度。方舟編譯器采用了靜態編譯的方式,程序員用它編譯出的應用,裝在手機上直接就可以運行了,把手機的CPU完全解放出來干該干的事,不會再浪費手機的性能去做編譯的操作。我們測試過,使用方舟編譯器后,系統應用執行效率提升29%,操作流暢度提升13%,系統響應提升32%。以微博極速版為例,在應用方舟編譯器之后,刷微博的時候圖片加載特別快,幾乎感覺不到加載的過程,體驗非常流暢。
除了代碼編譯,方舟編譯器還在運行狀態下引入了高效的環回收機制。這些年來大家都知道,手機應用越來越豐富,功能越來越強大,但是對內存的要求也越來越大,終端產品的內存也越來越大,但內存的利用率卻并不高。而方舟編譯器允許有選擇的智能回收某個應用的內存占用,這對傳統的環回收算法是一個非常棒的改進,大大提高了內存利用率。
提升流暢度,我們不只有“方舟”
提升系統流暢度,還有EROFS超級文件系統,可以壓縮系統空間占用,提升隨機讀寫速度。EROFS超級文件系統的誕生也是走過很長一段路的,我們使用的操作系統是基于Linux開發,所以最早使用的是Linux的標準文件系統Ext4,Ext4的存儲結構并不適用于手機的閃存。2016年,華為推出了優化后的F2FS文件系統,在用戶分區內替代了傳統的EXT4文件系統,提升了文件讀寫的流暢度,但運行操作系統只讀文件的系統分區暫時還是EXT4。2018年,華為在行業內率先采用了EROFS超級文件系統,這是針對Linux只讀文件的文件系統。在專利壓縮算法的加持下,經過我們的實測,能夠使得系統分區隨機讀取性能平均提升20%,并減少14%系統空間占用。