華為發佈的方舟編譯器能否在市場大規模使用後直接用來為新的系統進行編譯?

WA696


謝謝您的問題,華為方舟編譯器的推廣,還要看市場的接受程度。

華為方舟編譯器有市場前景。以前基於安卓系統的應用程序是一邊解釋一邊執行,有了華為方舟編譯器,運行程序執行中全程用機器碼,實現高效運行。根據華為官方數據,方舟編譯器優化系統有以下效果,如操作流暢度提高24%、響應速度提高44%,主要解決系統的卡頓、APP運行不暢等問題,以後打開今日頭條APP或悟空問答,可能就是毫秒之間。


華為方舟編譯器的市場前景。華為官方宣佈要將方舟編譯器在全球開源。榮耀總裁趙明等在微博科普了方舟編譯器與榮耀V20,讓人聯繫到榮耀V20是第一批支持方舟編譯器的智能手機,自家編譯器自家用,沒啥問題。不過,在推向國內國外市場中,手機制造、APP等廠商都應該清楚,方舟編譯器之後是華為打造生態圈的佈局。第一,如果效果不錯,越來越多的軟件被納入方舟系列,成為華為的忠實夥伴。第二,華為還推出了各種硬件,方舟編譯器將為硬件與軟件,華為與其他廠商打造融合的橋樑,成為硬件、軟件、操作系統三合一的生態。廠商使用將意味著站隊,廠商會三思而後行。

方舟編譯器也有競爭對手。據業內朋友介紹,其實類似提升系統性能的編譯器並非華為獨有,但這些編譯小工具不如華為品牌效益、不如華為做得如此高大上。中興近期研發了F2FS文件系統、安卓文件碎片優化技術,用在了中興AXON 10 Pro智能手機,響應速度和存儲性能也有顯著提升。真正到了商用階段,其實廠商都有自己的考量,選擇也會多樣。歡迎關注,批評指正。


追科技的風箏


我們如果想要知道華為發佈的方舟編譯器能不能得到市場認可,首先就要明白什麼是編譯器。

啥是編譯器呢?

編譯器其實就是把高級語言翻譯成低級語言的一種程序。

什麼是高級語言?

我們人寫出來的代碼基本都是高級語言,例如;C、Java、Python、彙編等等。

什麼是低級語言?

就是計算機識別的機器語言,或者叫機器代碼。

幾乎所有的程序,在我們完成開發以後,都會對其進行編譯,然後轉化為可執行的文件,這樣,才能夠被操作系統識別,從而運行起來。不同的編譯器,編譯出來的結果也是各有不同,因此,執行的效率也會出現差異。

方舟編譯器幹了啥呢?

我們現在的安卓系統,其實是基於Java環境來開發的,也因此,安卓的也是通過Java的編譯器編譯出來的。

而方舟編譯器其實就是對我們安卓系統中比較底層的System Server進行了編譯。這部分應用其實是為整個操作系統提供服務支持的。華為表示,方舟編譯器對System Server進行重新編譯後,EMUI 9.1的系統流暢度提高了24%,系統響應速度提高了44%。具體數據是什麼統計出來的我不清楚,不過我覺得,谷歌這麼弱啊,安卓的性能空間還有這麼多的提升?

當然,對系統進行重新編譯以後,其實是有風險的

要知道,應用程序都是在系統上進行運行的,對系統的底層進行重新編譯以後,能不能完全兼容現有的所有應用程序,這個是一個很大的問題。

如果系統和應用程序是使用統一的編譯器進行編譯,這個是不會存在這個影響的。但是,谷歌每次發佈最新的安卓版本時,都可能會出現大量的應用不兼容的情況,華為這次使用方舟編譯器,估計也可能出現類似的情況。

不過,華為也表示,自己會在2019年11月,將完整的方舟編譯器代碼開源,到時候,可能會有開發者會對華為的方舟編譯器進行完善,慢慢的就可能會通過編譯器建立一套生態。

當然,這個系統的生態,又是兩回事了

現在的方舟編譯器,雖然號稱是針對多語言環境,但是,真正可能會被完善應用的,應該主要還是安卓和Java的環境。雖然這確實可以對華為以後研發自己的系統做出一點貢獻,但一個系統最主要的並不是編譯器。

就好像谷歌做安卓的時候,其實也就是基於Java來做的,並沒有完全自己來構架一樣。但是安卓系統卻成為了全球最大的移動端操作系統。

這主要還是歸功於安卓的開發者生態。而這個生態除非在移動設備進行更新換代的時候,壁壘會出現裂縫,其他時候,想要攻破谷歌的生態壁壘,是非常的困難的。而且,華為的方舟編譯器,更多的應用場景也是在安卓上,如果拋離安卓,可能也會存在一些不為人知的問題。

所以,即使方舟編譯器被大規模應用了,也不能說華為就有能力去推動一個操作系統。


會技術的葛大爺


編譯器是把編程語言翻譯成二進制代碼的,不是給手機裝的,也不是針對系統的,不過是把原來安卓的基於虛擬機解釋型程序替換成讓安卓直接執行的二進制代碼,也就是變成和蘋果一樣的執行方式,如果做的成功,這在安卓發展史上革命性的,ios之所以流暢,是因為程序是靜態編譯的,機子直接讀二進制代碼,而安卓之所以卡,就是因為程序是動態解釋型的,有虛擬機這個中間環節,方舟編譯器如果按照這個機制,不僅僅對安卓是革命性的,對JAVA整個生態可能都是革命性的,當然和ORACLE對簿公堂的可能性也很大,這樣ORACLE就失去了對JAVA的控制權,所以華為最終的方式可能會開發一種兼容JAVA的語言,如果沿著這個生態華為就厲害了


不帥的大叔86


華為方舟編譯器簡單介紹:



華為方舟編譯器能夠極大提高軟件的運行效率,系統操作流暢度提升24%、系統響應速度提升44%、三方應用操作流暢度提升60%。華為方舟編譯器還面向業界開源,這對於解決安卓系統碎片化問題將起到革命性的作用。

目前在國內仍處於“無人區”階段,華為從2009創建編譯組開始,到2013年華為方舟編譯器架構構想(方舟前身)正式提出,再到2019年方舟編譯器的正式應用,這其間花了整整十年,這十年間的無數失敗、無數次的重來,其間的艱辛,編譯組的科研人員是最有話語權的。





華為方舟編譯器優勢:

存管理是程序開發與運行時需要重點考慮的部分,也和系統流暢度息息相關。安卓在內存回收上採用集中回收機制,發聲全局回收時更需要暫停應用,這也是隨機卡頓的根因之一。而方舟編譯器提供了更高效的內存回收機制,回收時無需暫停應用,隨時用隨時回收,大大提高運行速度。安卓ART的AoT和JIT動態編譯因為是運行在手機上,受資源所限,因而只能使用簡單的優化算法。方舟編譯器由於是在應用開發階段進行編譯,所以可以允許不同應用靈活採用不同的編譯優化方案,而且因為在開發環境編譯不會受到手機性能的限制,可以使用更多先進的優化算法,從而使得每個應用的性能達到最佳。



華為方舟編譯器的變革和機遇

方舟編譯器可以說是為自己新系統變革做準備的過渡產品,以後APP軟件適配華為手機都要進行華為編譯器進行編譯。那麼代表著華為麒麟系統面世時候,提前讓軟件APP企業適應習慣使用華為方舟編譯器,就等於在為自己系統做準備。所以華為方舟編譯器是以後自己系統做準備,適配更多軟件。




出發大哥好


可以在部分機型上去用這個東西,不過說實話看不出和Java默認編譯器有什麼進步的地方,除非把編譯過程提取,讓AOT安裝速度保持和現在一樣,算是一個革命性的東西。另外如果需要開發者參加的話,是不是說這個東西的安裝包形式和之前的編譯器不兼容,如果不兼容,想必只有很少的開發者才會去支持,開發者看重的是受眾群體,而不是廠家的名字。如果沒有開發者支持,想必不會有廠家跟進的吧,這意味著要給系統裡面內置兩套編譯器來保持兼容性。


榻榻米的榻榻


看看蘋果系統壟斷…


愛01舊


因為華為,才去關注?地球上編譯器多如羊毛,經過市場檢驗的也多如羊毛。


魚骰兒


有一個前提是!開發者願不願意參與!


分享到:


相關文章: