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