關於華為方舟編譯器,你怎麼看?

大青魚啊


觀點:華為的方舟編譯器不是一般的應用級軟件,而是針對安卓底層的一次系統重造工程,這將直接改善安卓系統的卡頓以及安全問題,對標的正是iOS。



方舟編譯器:在底層重造安卓系統體驗

方舟編譯是對安卓底層機制的重構,這給用戶體驗帶來的提升是顛覆性的;因為方舟編譯器解決的是安卓手機上最大的痛點:“卡頓”。編譯器,就像是人類和機器溝通的橋樑,承擔著將高級語言“翻譯”成機器能懂的機器碼,並按照指令運行。但是,在安卓系統中,編譯器卻有一個繞不過的坎兒:虛擬機。安卓系統雖然在不斷演進,但始終需要虛擬機來實現解釋和執行。Java的虛擬機模式提供了內存GC(垃圾回收)機制,內存垃圾是集中回收,但全局回收時需要短暫中斷應用,成為隨機卡頓的根因之一。



而華為方舟編譯器的內存回收機制是隨用隨回收,回收時無需暫停應用,因內存回收的隨機卡頓就消除了。其次,方舟編譯器是在應用打包的時候直接編譯出了機器指令,無需繁瑣的虛擬機運行,徹底消除了虛擬機的動態編譯的額外開銷,從邊翻譯邊執行到提前編譯機器碼直接執行(運行時無需再編譯),大幅提升了效率,讓性能得到大幅提升。



方舟對於安卓系統的優化工程是一場持久戰

華為早在2009年就創建了編譯組,因為華為的海思芯片如果要發揮其最大的潛能就必須擁有自己的編譯器;從2013年開始,華為推出了自己的編譯器HCC,用在基站領域,這可以說是方舟編譯器的前身。到了2014年,以Fred Chow等為代表的眾多技術人才加入,在2016年華為成立編譯器與編程語言實驗室,一直到現在推出方舟編譯器。

正因為編譯器作為系統級軟件,本身非常的複雜,華為經過十餘年的努力才正式推出方舟,但這只是一個新的開始,未來要走的路還很長。



方舟編譯器的最大願景是打造屬於中國自己的系統生態

華為開發的方舟編譯器和EROFS,都是向業界開源的;具體為方舟編譯器將在今年8月舉行的華為終端開發者大會上對框架代碼開源,開發者可以研究參考;將在今年11月的綠盟開發者大會上將完整的方舟編譯器代碼開源,開發者可以編譯使用。方舟編譯器編譯過的應用,可以適用於其他安卓手機,這讓其他安卓手機用戶也將獲益匪淺。

要想打造一個完善的系統生態,光靠華為一家企業是遠遠不夠的,華為方面非常希望Android陣營所有合作伙伴一起努力,希望大家將這個編譯器從各自場景、各自平臺,不斷去打磨它,才能實現最終給用戶帶來最好體驗的理想目標。



從這一點來看,華為將編譯器名字取名為“方舟”就不難理解了。在電影《2012》中,人類逃難的唯一工具就是諾亞方舟,而現實世界中,中國軟件生態的工具很可能就是“方舟編譯器”。

贈人點贊,手留餘香。我是小強Talk,歡迎大家關注我,和我一起共同成長進步!

小強Talk


謝謝您的問題。華為方舟編譯器,是一次重大創新。

華為方舟編譯器的原理。

三種計算機語言。第一,機器語言,就是0、1二進制代碼。第二,彙編語言,就是通過機器硬件將機器語言編譯成我們能看明白的編譯語言,就相當於翻譯器。第三,高級語言,就是程序員編程,比如JAVA 編程等。

安卓系統基本操作。除了華為、蘋果,其他手機廠商基本用安卓系統。簡單點說,就是用JAVA虛擬機編程(高級語言),再用JAVA虛擬機彙編(彙編語言),再編譯成機器懂的二進制(機器語言)。 虛擬機始終繞不開、都是虛擬機進程,而且不同公司虛擬機、程序編寫軟件和習慣不同,必須一行行地彙編、編譯、執行,每部分都有頭有尾,就相當於把名著改變成若干集電視劇。

方舟編譯器的逆天操作。華為這款編譯器將上述彙編、編譯功能合為一體,成為華為統一標準,本質是創新型的安卓應用編譯器。不管是哪家編的程序(高級語言),用華為編譯器,可以統一地彙編、編譯,統一給安卓系統執行(機器語言)。就相當於把名著改成一部電影,只有一個開頭結尾,是一個整體。這麼做有一個前提,就是兼容適用於安卓的所有開發語言、彙編表、編譯表,在此基礎上自己重新彙編、編譯,整合成為華為自己的標準。這個工作量和難度是相當驚人的。


華為方舟編譯器的功能。

過程很省事。華為方舟編譯器是底層優化,雖然執行效率還需要實踐證明,但是讓操作系統全程執行機器碼,徹底改變了安卓系統“邊解釋邊執行”的效率問題,高效編譯,直接運行,多個來源,一個出口,效率會提升。

性能很優越。餘承東的描述中,華為方舟編譯器能夠將系統操作流暢度提升24%,將系統運行效率提升44%,將各種APP操作流暢度提升60%。


華為方舟編譯器的潛力。

開發共享搭平臺。餘承東面向國產手機廠商宣佈,方舟編譯器要開源,鼓勵APP開發廠商儘量使用方舟編譯器,實際是培養客戶的信任和使用習慣。到了5G時代,一切上雲,APP未必一直存在。

為自己系統鋪路。華為如果今後用自己的系統,各家廠商不需要根據華為的新系統重新開發APP,只需要通過方舟編譯器處理過,就可以很自然地將安卓系統的軟件移植到華為操作系統上,背後是手機生態的移植,這個意義非同尋常。華為的5G佈局也是類似原理,儘量兼容3G、4G組網,減少原有用戶、廠商的建設、使用成本。同時,華為芯片減輕對高通的依賴、方舟編譯器減輕對安卓的依賴。這是華為的技術遠見。
歡迎關注,批評指正。


追科技的風箏


說到關鍵點了,“方舟”編譯器,就像一把尖刀直插開發端,掌握開發工具。說到這兒你應該明白了吧? 試想,當所有開發商都在用方舟來進行程序編譯,假如某天華為突然升級編譯器,支持新無縫支持自家系統呢?是不是釜底抽薪的感覺?

另外我猜測華為的新系統跟安卓高度相融,使用方舟編譯器可以非常方便的轉換到新系統,降低開發商適配成本,那麼新系統的生態搭建難度將會縮小百倍!

“方舟”不是突然冒出來的,是華為研發並驗證已久的,說明這步棋早已佈局好,難怪任正非為什麼這麼有自信,不知道後面還有多少殺手鐧、B計劃是我們不知道的?

最後,我大膽再猜測一下,接下來

第一步,華為可能會在業內普及方舟編譯器,隨後將編譯器體驗提升到最好。

第二步將會正式發佈新系統、新特性,支持華為、榮耀、其他品牌手機,自願更新或切換。

第三步,將麒麟處理器利用價格優勢對國內友商開放,並以此實現讓友商手機兼容華為系統應用,甚至使用華為系統作為底層(使用麒麟芯片必須支持新系統?),最後國內開發商全部歸順新系統,方舟編譯器使命完成!華為發佈“方舟”編譯器是否在下一盤大棋?

如果你也有這種感覺那就對了,這還得從頭說起,華為經過數年的風風雨雨,在手機領域從一家小品牌,到國內數一數二,花費了大量心血,隨後在國際市場遇到西方國家的強烈壓制,讓華為面臨著無路可退的局面,芯片、手機、通訊都消耗大量資源,此時是不可能放棄的,但西方遏制中國的手段決不止這一個,華為是面臨一個強大的對手,必須用心下好這盤棋,想要下好就得走一步看七步,我們看看華為如何佈局。

首先手機品牌方面,華為已經獲得成功(這裡要感謝美國),其次硬件方面核心的芯片已自主掌握,其他的零部件掐不住華為,剩下的就是軟件生態這一項了。還記得華為前段時間放風出來的營銷軟文吧,全網突然鋪天蓋地的說華為自研系統,這是在幹什麼?沒錯,拉關注、造勢,這一點華為已經輕車熟路。但是人人都知道做系統並不難,難的是空有平臺沒有生態,沒有app的系統就是一個空殼子,解決這個問題甚至頭條有不少用戶很有“創意”的提出花錢請人開發的辦法,但是這只是一句玩笑不可能實現,我們看看華為怎麼做的?

說到關鍵點了,那就是“方舟”編譯器,一把尖刀直插開發端,掌握開發工具。說道這兒你應該明白了吧? 試想,當所有開發商都在用方舟來進行程序編譯,假如某天突然宣佈,升級後的編譯器,支持新系統呢?是不是釜底抽薪的感覺?

另外我猜測華為的新系統我猜測絕對跟安卓程序高度兼容或類似,使用方舟編譯器可以非常方便的轉換到新系統,降低開發商適配成本,那麼新系統的生態搭建難度將會縮小百倍!

方舟這樣的編譯器不是突然冒出來的,是華為研發並驗證已久的,這步棋要在第一步的時候就已想好,任正非為什麼這麼有信心,後面還有多少步棋是我們不知道的?

還有,我大膽再猜測接下來,第一步,華為會盡全力在業內普及方舟編譯器,隨後將編譯器體驗提升到最好,第二步將會發布新系統、新特性,支持華為、榮耀、其他品牌手機,第三步,將麒麟處理器利用價格優勢對國內友商開放,並實現讓友商手機兼容華為系統應用,甚至使用華為系統作為底層(使用麒麟芯片必須支持新系統),最後國內開發商全部歸順新系統,方舟編譯器使命完成!


熱度傳媒超哥


該擔心的不是蘋果、google,難受的是arm和高通,不知道誰能挨板子。arm擔心華為借勢與高通聯手走risc v 的路,高通擔心華為直接開賣自己的麒麟系列給自己放血。方舟編譯器的目標不是操作系統,而是硬件。編譯器比操作系統更接近底層硬件,開源的目標應該是把自己的芯片發揮的極致,這才是本質的東西。可以想見的是華為此後將擴大編譯器的生態,目標卻是給自己芯片賦能。這將為華為推開芯片直接銷售的大門。ti的ccs開發系統、arm的ads開發系統都是為芯片銷售鋪路的。當年intel、amd都做過適配自己硬件的編譯器,英偉達和當年的ati也都用類似的方法給芯片的開發生態打基礎。所以方舟編譯器根操作系統沒關係,應該在幾年之後看到華為的arm指令集芯片或risc v指令集芯片的直接銷售的場面。這種可能的佈局已經2-3年了,看看hikey960、970就明白了。一個不銷售的芯片,卻投放高性價比的開發板,目的何在?就是培養開發人員生態的嘗試。現在開源一個原本不必開源的開發技術,目標就是芯片銷售啊!華為眼光很獨到,用自己的手機給芯片代言這一步已經做到了,麒麟芯片賺錢已經不成問題。hikey960、970協作,培養開發者,卻不賣成品芯片,給系統軟件開發者一個高性價比玩具;聯合高通微軟,打造arm版windows;加入risc v生態;現在推編譯器。呵呵,只要美國敢繼續玩給中國斷芯片的路數,華為麒麟芯片的商機就來了。這商業機會拿捏的!從2012年佈局芯片,這得什麼眼光?對於操作系統,禁止沒多大用,pc方面有linux,安卓除了play部分閉源,開源部分沒髮禁止,hikey開發板就是完全開源的安卓。5g芯片華為已經宣佈開口子,soc開賣還遠嗎?這就是編譯器的商業邏輯。

能運行linux和安卓的系統少嗎?但mips指令的龍芯,編譯器沒搞gcc和llvm的路子,做閉源的,外面根本玩不好。mate已經把麒麟搞得高端了,從hikey960開始的開發板開始,就在給麒麟培養生態了。估計編譯器走的llvm套路,針對soc優化了。

如果說華為的心僅僅是賣終端,你可以看看實體店的佈局,無論12線城市還是縣城一級,華為實體店都很一般。實體渠道絕對比不過聯想、oppo,而品質絕對低於蘋果,這感覺是不是更像intel和amd呢?狼性文化的華為這正常嗎?所以儘管終端做得不錯,但戰略目標是什麼?再回憶一下華為在路由器上的套路就明白,大b一直是華為的長線目標。

intel有什麼最終用戶生態嗎?如果賣芯片要考慮的是誰呢?你看到華為建itune和appstore的生態系統了?判斷華為走軟件還是走芯片,要看他的動作,不能看說什麼和賣什麼,那都是現實,而不是戰略。你說的兩條線是無判斷的。google是典型服務型軟件企業、亞馬遜是典型運營企業、微軟是典型的軟件產品企業、intel是典型硬件上游企業、dell是典型整機硬件。你覺得華為更像誰呢?

華為最有趣的是,他們把每個戰略過程中的手段都做得賺錢。如電源補短,就把自己的電源做到最好,然後開賣,然後把業務賣掉;用戶終端側路由把3com收了,做到相當聲色,再獨立出去。如此種種!將來把芯片做起來,把終端事業獨立出去是一點也不奇怪的。但交換機、核心路由器、服務器數據中心,這些面向大b的,即便賠錢了也咬牙堅持幹,芯片更是如此,連續賠錢還是堅持,戰略定力之強很少見。

當然,戰略有一成不變的?2000年,華為還說不做終端呢!戰略格局也是在變的,能預見格局變化,才是格局本意。不知道此時放棄什麼、主攻什麼、輔助做什麼,那就叫沒格局,沒戰略。看看任正非,說華為不過是芝麻,5g爆發還早,技術好不得不用。一般說來,不覺得矛盾嗎?還有,沒發現華為主銷量手機品牌幾乎一水的970、980,但偏有6、7系列,不買芯片,只小量使用在非主流機型上嗎?如果主要做終端,這不是太奇怪了嗎?看看其他終端廠商有這麼幹的?異常即妖!終端的邏輯是這樣嗎?所以,華為終端背後一定是另有方向的,終端做得再好不過是解決戰略中問題的。低型號芯片設計難度遠低於旗艦芯片,只需要搞清套路就好。那些用低型號芯片的不過是1000人以上的芯片驗證成本攤銷,旗艦芯片研發成本高,不上量根本不賺錢。如果戰略重點在芯片,而不是在終端。那麼,榮耀、華為都用旗艦芯片;小量的低成本芯片終端;不賣芯片卻出開發板;有os不發佈,卻發佈不需要發佈的編譯器還開源,這些異常就都解釋得通。如果戰略目標在終端,那麼應該小批量終端試水,給自己的os建立開發社區,封閉appstore與開發者分利,蘋果路數照搬,還都開源自己該開源的os,直接用llvm編譯器而不自己做,這才套路。


久兒爸爸


華為推出的方舟編譯器就是為解決Anrorid系統編譯複雜且佔據系統硬件大量資源行業難題而誕生。遺憾的是,餘承東並未在發佈會上透露更多的技術細節。因此,只能大膽做一下技術猜測。

技術原理猜測:方舟編譯器簡單的來說就是採用靜態編譯的方式,之前安卓應用上使用動態編譯方式並不能直接在開發時就將應用的複雜代碼轉化完成,還有部分代碼需要我們的手機進行協同轉化,這就很大程度上降低了手機上應用開啟效率。

簡單的來打比方來說,你以前去請菲傭幹活,還得請個英語翻譯,現在有了方舟,跳過翻譯,直接指揮菲傭。

方舟編譯器採用的是靜態編譯方式,與iOS一樣,蘋果的APP也是採用靜態編譯(LLVM編譯器,將應用程序(Swift語言編寫)提前編譯成機器碼,直接運行在芯片上)。也就是說方舟編譯器在APP開發環節就將JAVA語言編譯成了CPU運行所需要的機器語言,不再需要虛擬機去編譯,極大提高了運行效率。雖然達不到ios的流暢度(畢竟ios系統封閉,且規則統一),但在不久的未來,相信也可以媲美ios的用戶體驗度。

華為方舟編譯器背後的意義:

我們回頭看看,華為每年持續投入如此之高昂、如此核心的技術成果華為為何會對外開源呢?其實這次華為亮相編譯器,簡直就是透露出自家的系統搞好了,準備開始搞自己的生態圈。

華為發佈的不是僅僅是單純的工具,通過革命性的系統優化,不僅讓自己終端產品操作系統更為流暢、效率更高,還藉此吸引眾多應用軟件廠家使用自己的“方舟編譯器”,打造自己的圈子。

試想以後如果華為用自己的系統了。那麼依賴方舟編譯器現有的技術特點。現有的所有安卓軟件不需要根據程序員再根據華為新系統重新開發,也無需學習新的程序語言。只需要把以前開發好的軟件通過華為新系統的方舟編譯器再編譯一次,就可以無縫從安卓移植到華為新系統上,而且避免了安卓框架的授權,不再受制於人。


乾貨深入瞭解革命性的“方舟編譯器”,讓你從華為產品看到未來https://www.toutiao.com/i6678910402178318851/

希望以上解答能解決您的問題,祝你生活愉快!


Hot科技看點


關於華為方舟編譯器,你怎麼看?沒想到P30發佈會上竟然有這麼一個黑科技誕生,以前沒有一點兒消息透露出來,看來華為是保密到家。華為方舟編譯器的出現,可能是華為為了自己的終端建設生態環境而布的局,也許華為的底層更為優化的系統或者甚至是自己系統的推出可能真的不遠了。

華為不但自己可以從底層優化操作系統,使得系統更為流暢。而且給APP開發商也開放開源,個人認為這會贏得開發商的積極支持。開發商巴不得自己開發的APP能夠快速響應流暢運行,沒有卡頓,從而可以贏得更多的用戶或客戶,是開發商願意使用的。只要有人使用這個工具開發出軟件,那麼在華為手機系統上的運行優勢就更能體現,可能會為華為帶來更多的終端用戶。

餘承東發佈會上號稱方舟編譯器實現了架構級的優化,能夠讓操作系統流暢度提升24%、系統響應提升44%、第三方應用操作流暢度提升60%。是全程執行機器碼,解決安卓“邊解釋邊執行”而造成的低效率。

按照這樣的提升速度,如果把這些應用到華為自己的操作系統上,是否速度及流暢度的問題就解決了呢。是不是會對蘋果形成較大的壓力呢?以前看重蘋果手機iOS系統的用戶是否會有轉向到華為的念頭呢?即使是自己開發操作系統,也極有可能並不會輸於iOS。


也許方舟編譯器只是個開頭,接下來華為幾年之內說不定還有更大的動作出現。


更多分享請關注【東方高揚】。


東風高揚


作為一個Android從業人員來講 我就怕它吹的牛逼不是真的 等它開源了 我看看原理在來回答吧 如果真有什麼特別的改進我真心為華為感到高興 但是優化60%的速度Google都不敢這麼講啊


機器人趣視頻


如果不懂什麼是計算機指令、機器碼、彙編語言和彙編程序、高級語言和編譯程序、解釋語言和解釋器的,以及現在不少只接觸過Java和python,連C語言都不會的程序員,就再這裡說華為的不是,請你走開,你們還是IT的入門者。


葫蘆213


華為已經殺不住車了,黑科技一個接一個,偉大!


非凡爸爸5


專業不懂,安卓5.0用過ART的預編譯模式,但是安卓7.0以後又改回來了。

我的理解ART是手機系統自帶的編譯器,安裝軟件時進行預編譯,這樣會帶來安裝慢,佔用空間大,而且自身系統自帶應用的侷限導致的軟件不穩定等問題。就好比,是給你一篇外文文章,讓你自己翻譯成中文。

方舟編譯器是直接在發佈打包時就編譯好,不需要手機自己再進行預編譯的過程,這樣安裝速度沒有影響,現在的手機閃存空間都很大,安裝空間多點也沒什麼影響。而且外部編譯器功能更完整,編譯效果更好,不會影響軟件的穩定性。

相當於,同樣的外文文章,找個專業的翻譯弄成中文的再交給你。


分享到:


相關文章: