Re: [新聞] 解讀| 華為方舟編譯器是如何實現Android

看板MobileComm作者 (Vett)時間6年前 (2019/04/26 14:37), 編輯推噓4(4036)
留言40則, 7人參與, 6年前最新討論串3/3 (看更多)
: 華為方舟編譯器究竟改變了什麼? : 首先,方舟編譯器是配合華為EMUI 9.1 操作系統而打造的一個編譯工具。 : 按照華為方面的說法,雖然方舟編譯器是在2019 年4 月11 日發布,但是華為早在5 年前就開始佈局,2013 年推出了自研編譯器HCC,2014 年編程大神Fred Chow 加入,擔任華為編譯器技術首席科學家,2016 年華為成立編譯器與編程語言實驗室,投入了數百的專家團隊經歷了多次嘗試,才在EMUI 9.1 上實現了機器代碼的翻譯。 : 按照上述Android 操作系統的代碼運行邏輯,華為編譯器最大的優勢在於,它繞過了VM。 重點一 : 簡單來說,在百人專家團隊的打造下,華為方舟編譯器可以將高級語言(Java)直接變成機器碼,無需再通過Android 操作系統中內置的VM 編譯器。按照華為方面的說法:方舟編譯器編譯的應用在開發階段就已完成;也就是說,只要是經過編譯器編譯的應用,在應用市場上上架了以後,用戶下載APK 的就是編譯過的了。 : 換句話說,通過方舟編譯器,開發者的應用在下載之前就已經轉化成為機器可以識別的代碼,因而可以在手機上快速安裝、啟動和運行,而無需在經過VM 的編譯——某種程度上,方舟編譯器是將編譯過程提前到應用開發階段,從而大幅度減少了智能手機和操作系統的運行負擔。 : 按照華為方面的說法,採用華為編譯器之後,提升效果如下: : EMUI 9.1 僅僅對系統組件System Server 應用了方舟編譯器之後,系統流暢速度提升了24%,系統響應速度提升了44%; : 第三方應用(目前採用了新浪微博極速版)的操作流暢度提升了60%。 : 不可忽視的是,實際上,要想實現華為所言的效果,就首先需要第三方的應用開發者採用方舟編譯器對自家的App 提前進行改造,從而能夠上架華為應用商店——這也是余承東在4 月11 日的發布會呼籲開發者積極參與的原因。 : 除了代碼編譯,方舟編譯器也提供了更高效的內存機制,它與Android 內存回收的不同之處在於: : 內存管理是程序開發與運行時需要重點考慮的部分,也和系統流暢度息息相關。Android 在內存回收上採用集中回收機制,發聲全局回收時更需要暫停應用,這也是隨機卡頓的根因之一。而方舟編譯器提供了更高效的內存回收機制,回收時無需暫停應用,隨時用隨時回收,大大提高運行速度。 重點二 : 另外,在方舟編譯器的編譯環境下, 還可以對代碼進行優化。目前,由於Android ART 的AoT 和JIT 動態編譯因為是運行在手機上,受資源所限,因而只能使用簡單的優化算法。而方舟編譯器由於是在應用開發階段進行編譯,所以可以允許不同應用靈活採用不同的編譯優化方案,而且因為在開發環境編譯不會受到手機性能的限制,可以使用更多先進的優化算法,從而使得每個應用的性能達到最佳。 : 2019,全面開源 : 其實,在4 月11 日的發布會上,華為方面已經表示,方舟編譯器也將開放給第三方合作夥伴,希望共同構建開發者生態的“方舟朋友圈”。 : 目前,華為已經宣布方舟編譯器會從2019 年全面開源;其中,華為將在2019 年8 月的華為終端開發者大會宣布方舟編譯框架代碼開源,後續會在2019 年11 月的綠盟開發者大會實現完整方舟編譯器代碼開源。 : 對於華為方舟編譯器的開源,雷鋒網將保持關注。 : 雷鋒網(公眾號:雷鋒網)注:本文部分內容編自知乎平台作者weishu的回答內容,已經獲得作者授權。 : https://m.leiphone.com/news/201904/oshefuZTLnU00mJO.html : 心得:好吧,其實我整天都看不懂,只知道好像很厲害 : 有厲害的人可以解釋個嗎感謝 : 這樣子卓卓是不是在效能上要成功反超果果了呢! : 太令人期待啦! 這系列文章不知道能不能釣到 jserv 反正我先起個頭 就目前的的公開資訊吧 方舟編譯器這個名字代表了他的巨大工作量 我猜的啦 底層就是重做一套語言再加上相容 Java 而且只有華為自己的OS才能發揮功能 除非Google把整套解決方案放到Android裡面 不然要形成 iOS 的生態系還是難啦 就大陸幾個大型app會投資源下去玩而已 不過看方舟編譯器的效果確實明顯降低了 Android 的 jit 的時間 不過有人還沒習慣 Android 就是會這樣頓一下嗎 哈哈哈 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 91.121.50.14 ※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1556260646.A.75E.html

04/26 14:50, 6年前 , 1F
那要看compiler寫的功力 做的真的夠好 移植預先comp
04/26 14:50, 1F

04/26 14:50, 6年前 , 2F
ile不難或不出什麼大錯的話 就能吸引廠商做原本App
04/26 14:50, 2F

04/26 14:50, 6年前 , 3F
版本 另外準備一份emui方舟版
04/26 14:50, 3F

04/26 14:51, 6年前 , 4F
但移植太吃力就沒人陪你玩 除非是極大的App如大型遊
04/26 14:51, 4F

04/26 14:51, 6年前 , 5F
戲 比效率的東西
04/26 14:51, 5F

04/26 14:53, 6年前 , 6F
真的效率高 就屌了 想像一下pubg方舟版本運行比其他
04/26 14:53, 6F

04/26 14:53, 6年前 , 7F
安卓版本好的話 華為要怎麼大吹特吹 嘻嘻
04/26 14:53, 7F

04/26 20:21, 6年前 , 8F
現在手遊生命週期短 更新又頻繁 沒人力搞太多版本
04/26 20:21, 8F

04/26 21:41, 6年前 , 9F
那可能只影響loading
04/26 21:41, 9F

04/26 21:42, 6年前 , 10F
遊戲執行時通常是卡GPU
04/26 21:42, 10F

04/26 21:43, 6年前 , 11F
只有loading是卡cpu
04/26 21:43, 11F

04/27 03:31, 6年前 , 12F
重點不在如何實現,而在推廣開發者用這套工具開發
04/27 03:31, 12F

04/27 03:31, 6年前 , 13F
,重點是有相容性的問題,這是Java庫調用的原生限
04/27 03:31, 13F

04/27 03:31, 6年前 , 14F
制,不可能所有程式都用AOT,而且需要做針對性的優
04/27 03:31, 14F

04/27 03:31, 6年前 , 15F
化,光是這點小廠就沒法做更新與維護,而且中國境
04/27 03:31, 15F

04/27 03:31, 6年前 , 16F
內沒有Google都自行下載,但世界其它地方多半都是
04/27 03:31, 16F

04/27 03:31, 6年前 , 17F
用Play商店更新下載,如果每個設備都要做對應的優
04/27 03:31, 17F

04/27 03:31, 6年前 , 18F
化,哪要上傳多少版本?
04/27 03:31, 18F

04/27 03:32, 6年前 , 19F
除非像三星做自己的Store,但這小廠更不可能做,而
04/27 03:32, 19F

04/27 03:32, 6年前 , 20F
且也無利於推廣
04/27 03:32, 20F

04/27 03:33, 6年前 , 21F
想要從底層改變生態,光是華為開發四個字就有不少
04/27 03:33, 21F

04/27 03:33, 6年前 , 22F
疑慮了,Google更是鳥都不想鳥你
04/27 03:33, 22F

04/27 03:34, 6年前 , 23F
最後了不起在中國推廣罷了
04/27 03:34, 23F

04/27 03:39, 6年前 , 24F
重點是手機的生態根本不容許你這樣做,很多程式都
04/27 03:39, 24F

04/27 03:39, 6年前 , 25F
是同時上架ios跟android,程式開發時會盡量減少差
04/27 03:39, 25F

04/27 03:39, 6年前 , 26F
異性,以降低工作量與維護成本,更不可能用一套小
04/27 03:39, 26F

04/27 03:39, 6年前 , 27F
眾的編譯器
04/27 03:39, 27F

04/27 03:46, 6年前 , 28F
有些程式在ios上執行快,在Android上執行慢,也有
04/27 03:46, 28F

04/27 03:46, 6年前 , 29F
相反的,這些在開發者選擇開發的工具時就決定了,
04/27 03:46, 29F

04/27 03:46, 6年前 , 30F
很多是時候是看開發的成本及維護的能力
04/27 03:46, 30F

04/27 04:00, 6年前 , 31F
說穿了就是華為什麼都不行,才只能在開源的Androi
04/27 04:00, 31F

04/27 04:00, 6年前 , 32F
d上搞這些有的沒的,有能力的就像蘋果一樣去搞封閉
04/27 04:00, 32F

04/27 04:00, 6年前 , 33F
系統了,軟硬體搭配才叫強,不然也學三星去搞Tize
04/27 04:00, 33F

04/27 04:00, 6年前 , 34F
n啊
04/27 04:00, 34F

04/27 04:02, 6年前 , 35F
最討厭的就是華為這種沒能力,又老愛吹自己天下第
04/27 04:02, 35F

04/27 04:02, 6年前 , 36F
一的中國廠牌
04/27 04:02, 36F

04/27 13:54, 6年前 , 37F
樓上精闢
04/27 13:54, 37F

04/28 10:13, 6年前 , 38F
現在的正面宣傳、反面宣傳這麼多,還是不看廣告,看
04/28 10:13, 38F

04/28 10:14, 6年前 , 39F
療效。
04/28 10:14, 39F

05/17 00:31, 6年前 , 40F
已更新方舟,速度非常有感
05/17 00:31, 40F
文章代碼(AID): #1SmgScTU (MobileComm)
討論串 (同標題文章)
文章代碼(AID): #1SmgScTU (MobileComm)