余承东称方舟编译器可以让华为手机性能超过苹果,你怎么看?


余承东是一个很有趣的人 。给人的印象是爱说大话 。但至少到目前为止 。余承东“吹过的牛”都实现了 。也就是余承东的“说大话” 。基本上都是立足在华为有能力实现的基础上 。有华为强大的技术作为支撑 。余承东才能将自己屡屡惊人的“大话”变成现实 。
那么 。余承东称方舟编译器可以让华为手机性能超过苹果 。应该是基本可信的 。即使没有超过 。那也是不相上下 。或者是非常接近 。
苹果的iOS系统确实好用 。但iOS系统也不可能永远都是最先进的 。可能在智能机发展前期 。苹果的iOS系统可以一招鲜吃遍天 。但伴随技术进步 。总有新的系统可以更加先进 。目前来说 。或者华为的方舟编译器可以做到 。或者已经接近苹果的iOS系统 。
因为方舟编译器 。并不是一个简单的编译软件 。而是与Android系统充分结合的一种底层技术 。也就是可能进一步完善Android底层编码 。这样华为的方舟编译器就更有意思了 。
一个现代编译器的主要工作流程是:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables) 。
方舟编译器如果能够实现从源代码到可执行程序之间的转换 。将其他中间过程省略 。或者是浓缩 。那么就能实现更快更好地编译 。简单地说就是减少了中间环节 。用我们常说的减少了中间商 。
我们做一个简单粗暴的类比:以前一个产品流通到市场终端 。需要经过复杂的经销体系 。早期销售体系是全国经销→ 大区经销→ 省级经销→ 市级经销→ 县级经销商→ 终端网点→ 消费者 。但电子商务直接省略了中间环节 。厂家→ 商务平台→ 消费者 。这就是网络产品价格更便宜的一个重要原因 。
当然 。这种类比肯定不准确 。也不一定正确 。但如果能够从源代码带可执行程序直接有更好的链接 。那么就能够实现余承东所说的 。提高24%的流畅度 。
技术不断进步 。一切皆有可能 。华为超越苹果就是这个方舟编译器 。也可能是下一个什么样的重大发明 。当然 。苹果也在进步 。反正竞争总是带来更好的产品 。
其他观点:
日前上海发布会上 。华为推出的方舟编译器可谓是意外的惊喜 。根据华为的介绍 。方舟编译器能够从程序编译与运行机制上提升安卓系统的流畅度 。不仅引来科技粉关注 。许多小白也很关心 。这款编译器究竟能够给安卓带来什么变化 。

余承东称方舟编译器可以让华为手机性能超过苹果,你怎么看?

文章插图
毕竟 。天下苦安卓卡顿久矣 。从测试版到现在 。已经进入Android 10.0版本 。虽然流畅度一代一代有所提高 。但是相比隔壁的iOS 。安卓体验弱的不是一点半点 。发布会上余承东表示方舟编译器可让操作系统流畅度提升24% 。给安卓党带来许多期待 。
余承东称方舟编译器可以让华为手机性能超过苹果,你怎么看?

文章插图
就连谷歌一直都未能搞的太定的事 。方舟编译器怎么样实现?想要了解其中具体的逻辑 。我们先从什么编译器说起 。
啥是编译器?
余承东称方舟编译器可以让华为手机性能超过苹果,你怎么看?

文章插图
简单讲 。编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序 。
余承东称方舟编译器可以让华为手机性能超过苹果,你怎么看?

文章插图
简单的理解 。编译器就是承上启下的中间层 。连接着高级语言和机器语言 。应用程序是否能够直接编译 。决定了流畅度和稳定性 。这就是Android 平台与iOS平台在体验上巨大差异的关键 。
余承东称方舟编译器可以让华为手机性能超过苹果,你怎么看?

文章插图
反过来看 。iOS从诞生之初就采用LLVM(Low Level Virtual Machine)编译器 。LLVM是构架编译器(compiler)的框架系统 。以C++编写而成 。是一个模块化和可重复使用的编译器和工具技术的集合 。应用程序(Swift语言编写)能够直接编译成机器码 。无需像Android需要一个中间层过渡 。程序可在手机CPU上直接运行 。
余承东称方舟编译器可以让华为手机性能超过苹果,你怎么看?

文章插图
安卓系统想要实现同iOS一样的高效 。就要解决JVM 。解决程序直接编译成机器码的痛点 。方舟编译器最大的亮点 。就是围绕这一问题进行优解(后面会详解) 。
历代安卓的努力
余承东称方舟编译器可以让华为手机性能超过苹果,你怎么看?

文章插图
也就是说 。在早期的安卓系统上每次运行应用时都需要虚拟机的一次编译 。每次执行应用的时候虚拟机都会将程序的语言由高级语言编译为机器语言 。这样设备才能够运行这一应用 。相比iOS的机制 。多个中间层使其执行效率大大下降 。

推荐阅读