华为不做黑寡妇,开源编译器,与友商共建安卓性能
1
今天我的一個老哥開了頭條號,第一次發文章,我覺得不錯,拿來用用,給大家看看華為技術總工的文采。這位總工潛伏在我的微信群里很少說話,大家一定要有這個想法,就是最低調的那個人,真的非常牛逼。
2?正文
“黑寡婦”是一種具有強烈神經毒素的蜘蛛,其名字源于交配后的雄蛛會被雌蛛吃掉。是華為任老板提出,希望華為改變現狀,開放共贏,給合作伙伴讓渡利益。
P30pro
華為在11日的P30國行發布會上,宣布了安卓應用的方舟編譯器,并且面對業界開源,這無疑是安卓手機行業的一顆重磅炸彈。眾所周知,安卓應用基于java開發,而java開發的安卓應用存在邊解釋邊執行的天然缺陷,影響了安卓應用執行效率的提升。
方舟編譯器
什么是邊解釋邊執行,通過一個通俗的例子講解下,你可以理解為中美兩國領導人在交談,兩國領導只會講中文和英文,那就需要翻譯人員將中英文互譯,安卓應用比作中方領導只會中文,手機CPU比作美方領導只懂英語,那手機CPU要執行安卓應用就需要一個翻譯將安卓應用翻譯為手機CPU理解的語言才能執行。
具體到實際的環境中,安卓應用是高級語言編碼的,如果要比較a和b的值,只需要if(a?==?b)一句程序,容易編寫,對人是友好的,但是手機CPU是ARM內核,只能識別ARM指令,如果要比較a和b的值,首先要將a,b兩個值裝載到寄存器,然后再用比較指令比較,手機CPU看到的語句是mov?reg1,a?;mov?reg2,b;?cmp?reg1,reg2;總共3條指令。這兩種語言之間的翻譯和轉換必然會消耗手機性能。如果事先就將安卓應用翻譯為ARM指令,這樣就略去了翻譯過程,可以直接執行,自然就能提升應用的流暢程度,也降低手機CPU的開銷,進一步降低功耗提升手機續航。
高級語言
機器指令
3
當然安卓經過了9個大版本的迭代,安卓虛擬機已經針對邊解釋和邊執行的低效率做了部分執行前轉機器碼的優化,但還是無法與直接編譯為機器碼的應用效率媲美。華為開源的方舟編譯器應該是更進一步優化翻譯這一步,減少解釋在應用執行中的時間占比來提升流暢程度。
方舟作為編譯器層面優化,非常便于友商集成,可以說華為是站在整個安卓業界的高度,將自身投入數千億研發的部分成果共享,將利益讓渡給業界,作為民營企業,不論其最終的意圖如何,只是這份魄力就值得稱贊。
完,各位共勉~
總結
以上是生活随笔為你收集整理的华为不做黑寡妇,开源编译器,与友商共建安卓性能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 创业/商业计划书10大禁忌
- 下一篇: 第九家面试(上海富勒信息科技有限公司 )