请选择 进入手机版 | 继续访问电脑版

超级大本营军事论坛

 找回密码
 加入超大军事

QQ登录

只需一步,快速开始

查看: 2880|回复: 46
收起左侧

华为宣布:开源方舟编译器

[复制链接]
发表于 2019-4-11 22:13 超大游击队员 | 显示全部楼层 |阅读模式

更多精彩专业军事内容,期待你的加入!

您需要 登录 才可以下载或查看,没有帐号?加入超大军事

x
本帖最后由 飘渺一孤舟 于 2019-4-11 22:42 编辑

华为率先带来革命性的产品“方舟编译器”。它解决了安卓性能卡顿的问题,系统的流畅度提高24%,系统响应提高44%,三方应用操作流畅度提高60%。

就在此时此刻,余承东宣布“方舟编译器”正式面向业界开源,同时希望APP开发厂商尽快使用。


https://m.toutiaoimg.cn/group/6678559918196261390/
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
 楼主| 发表于 2019-4-11 22:21 超大游击队员 | 显示全部楼层
应该是给华为os做铺垫
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-11 22:39 | 显示全部楼层
有请懂的人解读下吧
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-12 00:32 | 显示全部楼层
Java传统执行方式是解释+JIT(Just In Time),就是说编译打包的是中间码,执行的时候,做一些预判,把经常执行的部分编译成机器码,但只缓存在虚拟机里。
在桌面、服务器环境里一直都是这样做的,因为资源比较丰富,性能已经足够好了。
在手机上为了提高性能,安卓4.x以后采用ART(Android Run Time)方式,在安装的时候把中间码翻译成机器码,但这样做会拖长安装时间。
后来就折中为解释+JIT+AOT(Ahead Of Time),执行的时候,预判常用的部分记录下来,以后在空闲时进行本地编译,下次就可以直接执行。
有人推测方舟编译器是在编译打包阶段,直接生成机器码。
因为在华为商店里下载应用的时候,商店可以判断出手机的型号,如果能对应上专为麒麟编译的包,那就可以做到优化了。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-12 06:00 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

壮东风 发表于 2019-4-12 00:32
Java传统执行方式是解释+JIT(Just In Time),就是说编译打包的是中间码,执行的时候,做一些预判,把经常执 ...

交换机可以判断手机型号吧
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-12 07:15 超大游击队员 | 显示全部楼层
鹿乡约 发表于 2019-4-12 06:00
交换机可以判断手机型号吧

交换机是二层设备……
下载APP更像是 访问超大,超大可以获得手机 系统 和 浏览器版本号
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-12 08:45 | 显示全部楼层
这到底是不是为华为未来要推出的OS在做铺垫?
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-12 08:48 | 显示全部楼层
改的编译器是前端还是后端?
等开源后大神解读。

上次去实体店体验P30的时候,感觉是比V20快一些,主要是过度动画舒服了,能看了。V20也不是慢,体验起来总有一种傻傻的感觉。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-12 09:07 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

碧落黄泉 发表于 2019-4-12 07:15
交换机是二层设备……
下载APP更像是 访问超大,超大可以获得手机 系统 和 浏览器版本号

我说的是电信局
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-12 09:35 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

鹿乡约 发表于 2019-4-12 06:00
交换机可以判断手机型号吧

菊厂手机连菊厂商店嘛,判断型号就很简单了。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-12 10:06 | 显示全部楼层

RE: 华为宣布:开源方舟编译器


电信的“交换机”也是二层设备。
虽然现在有“三层交换机”,但我觉得那玩意不算纯粹的交换机了。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-14 00:08 | 显示全部楼层
这个是不是有点类似X86兼容厂商全美达的做法:将X86指令翻译后组合成超长指令,在内存开辟一个区域存储最近翻译过的指令。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-14 20:21 | 显示全部楼层
必须要开源啊,不然开发者怎么跟进
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-14 20:22 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

壮东风 发表于 2019-4-12 00:32
Java传统执行方式是解释+JIT(Just In Time),就是说编译打包的是中间码,执行的时候,做一些预判,把经常执 ...

未来5g时代,这些计算完全可以储存在云端了吧
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-14 20:33 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

张俊 发表于 2019-4-14 20:22
未来5g时代,这些计算完全可以储存在云端了吧

老兄,我真的被你气乐了。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-14 20:59 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

壮东风 发表于 2019-4-14 20:33
老兄,我真的被你气乐了。

不可以吗?

我记得之前很多手机的ai优化就是在云端进行的,本地没有npu

5g时代的低延时,感觉很多计算都可以在云端执行,我是这么理解的
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
 楼主| 发表于 2019-4-14 23:09 超大游击队员 | 显示全部楼层
张俊 发表于 2019-4-14 20:59
不可以吗?

我记得之前很多手机的ai优化就是在云端进行的,本地没有npu

云计算完全没问题,5G解决延迟
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-15 09:48 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

张俊 发表于 2019-4-14 20:59
不可以吗?

我记得之前很多手机的ai优化就是在云端进行的,本地没有npu

总感觉网络不要钱似的,就现在这种1G流量还要20块钱的时代。。
你开一天手机,估计一部手机就没有了
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-15 11:13 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

壮东风 发表于 2019-4-12 00:32
Java传统执行方式是解释+JIT(Just In Time),就是说编译打包的是中间码,执行的时候,做一些预判,把经常执 ...

在编译打包阶段,直接生成机器码
这种事谷歌也能做到,为什么不做?
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-15 11:33 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

frv400 发表于 2019-4-15 11:13
在编译打包阶段,直接生成机器码
这种事谷歌也能做到,为什么不做?

一般Java开发打包,不管是安卓包还是服务端包,都是中间码,然后部署在各种设备上,由虚拟机解释执行,这样就实现了跨平台。
在打包阶段生成机器码,意味着绑定处理器和操作系统,自动丧失跨平台特性。
我猜想方舟编译器是要结合IDE等编译环境使用的。
这就是菊厂向业界开源的原因,各手机厂商可以在自己的应用商店里,针对自家手机,进行优化定制。但对于腾讯应用宝、360手机助手之类的通用商店,就可能不太适合了,因为面临的手机平台太多。
还有就是,方舟的优化措施,比JVM内置的编译器更好,但不管怎么样,跟Google没什么关系,Google不管编译。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-15 11:35 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

壮东风 发表于 2019-4-15 11:33
一般Java开发打包,不管是安卓包还是服务端包,都是中间码,然后部署在各种设备上,由虚拟机解释执行,这 ...

那就是和GPU turbo 一样,牺牲通用性来提高性能
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-15 11:36 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

frv400 发表于 2019-4-15 11:35
那就是和GPU turbo 一样,牺牲通用性来提高性能

针对性优化效果还是不错的。
至少菊厂对业界开源了方舟,就看大家跟不跟了。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-16 20:23 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

frv400 发表于 2019-4-15 11:35
那就是和GPU turbo 一样,牺牲通用性来提高性能

看牺牲谁呗~ 能支持安卓就是好东西,能让麒麟起飞就好的不能再好了.
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-16 20:47 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

壮东风 发表于 2019-4-15 11:36
针对性优化效果还是不错的。
至少菊厂对业界开源了方舟,就看大家跟不跟了。


不知道下半年的MATE30能不能大规模用上
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-16 21:08 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

740159711 发表于 2019-4-16 20:23
看牺牲谁呗~ 能支持安卓就是好东西,能让麒麟起飞就好的不能再好了.

华为自家用肯定是只有好处没有坏处的
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-16 21:40 超大游击队员 | 显示全部楼层
胡厚崑说有人问他,今年第一季度你们手机表现不错,真的是 50% 的增长吗?胡厚崑回答说具体数字要跟负责华为消费者业务的余承东确认下。至于背后的原因是什么,他半开玩笑地说,在过去的几个月,华为占领了特别多的头条,感谢过去的几个月大家给了我们这么多的头条。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-17 01:48 | 显示全部楼层
想不到处理器发展到现在,对中间码的速度还是不令人满意
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-4-17 02:08 超大游击队员 | 显示全部楼层
本帖最后由 lylistlike 于 2019-4-17 02:17 编辑

[quote]壮东风 发表于 2019-4-15 11:33
一般Java开发打包,不管是安卓包还是服务端包,都是中间码,然后部署在各种设备上,由虚拟机解释执行,这 ...[/删除了 删除了
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-8-12 07:09 超大游击队员 | 显示全部楼层
壮东风 发表于 2019-4-15 11:33
一般Java开发打包,不管是安卓包还是服务端包,都是中间码,然后部署在各种设备上,由虚拟机解释执行,这 ...

有没有厂商考虑过芯片直接执行java中间码绕开编译这一环?
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-8-12 07:55 超大游击队员 | 显示全部楼层
追求高性能的android应用可以直接用ndk,用c或者c++开发,直接生成机器码
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-8-12 15:52 超大游击队员 | 显示全部楼层
来源了太好了,很快看到米粥编译器了。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-8-12 16:45 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

keeperx1 发表于 2019-8-12 07:55
追求高性能的android应用可以直接用ndk,用c或者c++开发,直接生成机器码

你这样说,我只能说你不是码农,也不懂安卓APP,
安卓的确可以用NDK,但是你也要看看NDK能做啥,又不是万能的,我们公司很多APP是NDK开发的,典型的客户远程维护监控的APP,都是NDK,但是NDK仅仅只能做算法,内容处理等可以打包成库的那一部分,这样也方便加密处理,单纯的解包再打包是无法接触到这一层的,UI界面等内容不能用NDK方法(就是说不能用C/C++写),所以追求高性能就是算法,数据处理相关部分使用NDK(用C/C++写),其他部分还是只能JAVA
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-8-12 23:06 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

zmic797 发表于 2019-8-12 07:09
有没有厂商考虑过芯片直接执行java中间码绕开编译这一环?

上世纪90年代就提出过Java处理器的想法。
实现JVM或Java编译器的功能太复杂了,而且版本会迭代。
这部分工作还是交给软件完成更合适。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-8-12 23:07 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

keeperx1 发表于 2019-8-12 07:55
追求高性能的android应用可以直接用ndk,用c或者c++开发,直接生成机器码

C/C++开发效率低,方舟已经提供了相当接近的效率了。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-8-13 00:26 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

armfans 发表于 2019-8-12 16:45
你这样说,我只能说你不是码农,也不懂安卓APP,
安卓的确可以用NDK,但是你也要看看NDK能做啥,又不是 ...

不是没办法,只是用不了系统本身的UI。你可以用vulkan。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-8-13 00:34 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

壮东风 发表于 2019-8-12 23:07
C/C++开发效率低,方舟已经提供了相当接近的效率了。

方舟是不是在解决一个真正的“问题”?
Google的设计是Java解决兼容问题,NDK解决高性能问题。
方舟在中间加了一层,性能不及NDK,兼容性完全放弃。看不出来对除了华为以外的公司有什么太大的意义。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-8-13 14:21 | 显示全部楼层

RE: 华为宣布:开源方舟编译器

keeperx1 发表于 2019-8-13 00:34
方舟是不是在解决一个真正的“问题”?
Google的设计是Java解决兼容问题,NDK解决高性能问题。
方舟在 ...

方舟是开源的,华为希望各厂商把方舟利用起来,在应用商店直接提供方舟编译的应用。
即使不采取方舟,原来的JIT+AOT也没问题。
所以方舟是一个提升的方案,跟原有机制不冲突。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-8-13 16:16 | 显示全部楼层
你们找到这些开源代码的下载地址了吗?
没看到代码先不要急着评论它本身。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-8-13 17:03 | 显示全部楼层
国内还有欧洲的一些终端厂商也都不希望在系统和芯片上被美国一家掌控,多一个系统就多一个选择,多一份讨价还价的资本,非常看好鸿蒙和方舟的前景。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2019-8-13 20:18 超大游击队员 | 显示全部楼层
壮东风 发表于 2019-8-13 14:21
方舟是开源的,华为希望各厂商把方舟利用起来,在应用商店直接提供方舟编译的应用。
即使不采取方舟,原 ...

这个“提升”代价不小啊,对于其他厂家测试机器就需要多买好多,还要天天帮你找bug,除非华为做成一站式解决,方舟对所有cpu适配。华为既然开源,显然希望适配是其它厂商来做。所以华为解决了什么问题本身就很重要,如果意义不大,基本不会成功。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
您需要登录后才可以回帖 登录 | 加入超大军事

本版积分规则

关闭

超大推荐上一条 /1 下一条

监狱|手机|联系|超级大本营军事论坛 ( 京ICP备13042948号 | 京公网安备11010602010161 )

声明:论坛言论仅代表网友个人观点,不代表超级大本营军事网站立场

Powered by Discuz © 2002-2019 超级大本营军事网站 CJDBY.net (违法及不良信息举报电话:13410849082)

最具影响力中文军事论坛 - Most Influential Chinese Military Forum

GMT+8, 2019-8-22 04:07 , Processed in 0.070918 second(s), 8 queries , Gzip On, Redis On.

快速回复 返回顶部 返回列表