鸿蒙比安卓快60%!只因没了“中间商”

上次讲了UI设计与体验,这次给强迫症们增加一趟摆渡车

(讲讲鸿蒙系统的底层逻辑与前沿魅力)

鸿蒙比安卓快60%!只因没了“中间商”

聘请了世界顶级的编译专家才攻克了编译器技术,在EMUI 9.1上实现了机器代码的翻译


✎HarmonyOS发展历程
2009年 华为启动5G基础技术研究的同时,开始创建编译组,第一批海内外研究人员加入。
2012年 诺亚方舟实验室成立,规划自有操作系统
2013年 华为推出面向基站领域的自研编译器HCC,并正式提出编译器框架构想。
2016年 成立编译器与编程语言实验室。
2017年 鸿蒙内核1.0完成
2018年 鸿蒙内核2.0完成
2019年4月 EROFS超级文件系统发布
2019年8月9日 鸿蒙OS1.0发布,方舟编译器上线
2020年12月 鸿蒙OS2.0手机开发者BETA版发布
2021年6月2日 “万物皆鸿蒙”
  

“出于安卓,胜于安卓,超越iOS,并且全面兼容安卓”,是方舟编译器的使命。


【介绍】⊙方舟编译器2.0
方舟编译器1.0主要提升了华为手机的APP运行速度流畅度24%↑响应性能44%↑操作流畅度60%↑
而方舟编译器2.0,主要是优化了多语言多设备之间的编译效率。鸿蒙OS2.0在整体的体验上,在系统方面,鸿蒙OS2.0分布式软总线、分布式数据管理、分布式等三方面升级。
→_→方舟编译器改变了系统及应用的编译和运行机制,直接将高级语言编译成机器码,让手机能直接听懂“高级语言”,消除了虚拟机动态编译的额外开销,提升了手机运行效率。
同时,方舟编译器还能够理解程序特征、使用适合的指令来执行程序,因此能够极大程度地发挥出芯片的能力。
目前,方舟编译器聚焦在 Java 代码性能上,未来,方舟编译器将覆盖多种编程语言(包括 C/C++、JS 等),多种芯片架构(包括CPU、GPU、IPU等),覆盖更广的业务场景。
⊙_⊙ ⊙-⊙ +++正文+++ ⊙_⊙ ⊙-⊙
【展望替代】⊙左杀虚拟机,右杀JNI开源,用户从此可以告别间歇性卡顿。
实现“混合语言的统一中间表示和完全静态编译”。

鸿蒙比安卓快60%!只因没了“中间商”

首次在Java领域将虚拟机干掉

鸿蒙比安卓快60%!只因没了“中间商”

Java/C/C++等混合代码,可以一次编译成机器码,直接在手机上运行。
彻底告别Java的JNI额外开销。
余承东:方舟编译器能实现Android性能革命。

鸿蒙比安卓快60%!只因没了“中间商”

2019年8月9日,鸿蒙OS正式揭开神秘的面纱,堪比台风“利奇马”的杀伤力,所到之处无不震惊。今天说说能让鸿蒙比安卓快60%的秘密——方舟编译器。

鸿蒙比安卓快60%!只因没了“中间商”

举个例子,软件像电脑系统一样,编译器就是优化配置,让软件更好的为手机服务。

鸿蒙比安卓快60%!只因没了“中间商”

安卓1.0到Android Q,从2018年至今已有十三年


编译器都是借助“中间商”来实现的。

鸿蒙比安卓快60%!只因没了“中间商”

  在安卓1.0的时候,用的是Dalvik的虚拟机,里面集成了一个解释器,每次运行APP时就会唤醒,给硬件下达APP的指令。

鸿蒙比安卓快60%!只因没了“中间商”

  安卓2.2版本引入JIT机制,不用每次都翻译,只有使用不常用的功能时,才会唤醒翻译。
(每次将频繁APP代码转成二进制,不用逐句翻译)
  由于每次启动APP都要翻译,Dalvik虚拟机比较落后啦~
  安卓5.0以ART代替Dalvik,以AOT取代JIT。
无需每次打开APP重新翻译一遍,但二进制代码很占用手机内存。

鸿蒙比安卓快60%!只因没了“中间商”

鸿蒙比安卓快60%!只因没了“中间商”

  Android 9还针对Android常见内核的LLVM编译添加了CFI内核支持。加强了对用户隐私的保护。系统禁止这那的

鸿蒙比安卓快60%!只因没了“中间商”

Android 1.0~9.0仍需要虚拟机VM实现解释执行


  反观iOS系统,无VM下来用Clang/LLVM来编译出机器码,就没有安卓还要一个中间层那么麻烦,观感流畅许多!
 VM(虚拟机)是Android系统一个绕不过去的坎。
由于其包含翻译器和编译器,其目的就是把 Java 高级语言转换成机器能懂的语言,也因为这一转换过程导致了Android的卡顿现象。
⊙_⊙ ⊙-⊙ +++凭什么?+++ ⊙_⊙ ⊙-⊙
  由于大部分的APP用Java/C++等多种语言混合开发,为了统一,还要有互通接口——JNI(Java Native Interface)。

鸿蒙比安卓快60%!只因没了“中间商”

互通接口——JNI(Java Native Interface)


鸿蒙比安卓快60%!只因没了“中间商”

  故下达指令、执行中间要经过【虚拟机】-【编译机】-【互通接口】,这样能不卡吗?
  方舟编译器是一种静态的编译方式,可将语言里的动态特性直接翻译成机器码,按照现在的安卓系统,运行一个程序要启动3个“中间商”!!!
方舟编译器可将手机程序以全速运行,没有“中间商赚差价”,岂不美哉!!~

鸿蒙比安卓快60%!只因没了“中间商”

方舟编译器是完全替代了语言虚拟机的静态编译器,从此不再需要解释器。


鸿蒙比安卓快60%!只因没了“中间商”


鸿蒙比安卓快60%!只因没了“中间商”

吊打安卓5.0方案,速度不止一秒

鸿蒙比安卓快60%!只因没了“中间商”

开发者的乐园˶⍤⃝˶꒳ᵒ꒳ᵎᵎᵎ



【展望未来】方舟编译器改变了系统及应用的编译和运行机制,直接将高级语言编译成机器码,让手机能直接听懂“高级语言”,消除了虚拟机动态编译的额外开销,提升了手机运行效率。
同时,方舟编译器还能够理解程序特征、使用适合的指令来执行程序,因此能够极大程度地发挥出芯片的能力。
目前,方舟编译器聚焦在 Java 代码性能上,未来,方舟编译器将覆盖多种编程语言(包括 C/C++、JS 等),多种芯片架构(包括CPU、GPU、IPU等),覆盖更广的业务场景。

鸿蒙比安卓快60%!只因没了“中间商”

One as All,All as One


鸿蒙比安卓快60%!只因没了“中间商”


为不同设备的智能化、互联与协同提供统一的语言,这,就是新一代智能终端操作系统HarmonyOS 2!

展开阅读全文

页面更新:2024-03-18

标签:鸿蒙   中间商   方舟   华为   机器码   编译器   内核   指令   虚拟机   高级   语言   代码   程序   数码   系统

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top