zt知乎:方舟编译器的开源达到各位的预期了吗?

324回复/ 50349279 浏览
DDUDUDDUDU(34级)楼主2019-09-25 10:12:06发布于上海
zt知乎:方舟编译器的开源达到各位的预期了吗?DDUDUDDUDU 发表在数码综合讨论 https://bbs.hupu.com/digital

这些回帖亮了

收起
引用 @让我再躺会儿 发表的:
只看此人
这都要出来澄清,那国内这么多上市公司每天不用干事了,撕逼就完事了。
这都要出来澄清,那国内这么多上市公司每天不用干事了,撕逼就完事了。
那看来支付宝团队是太闲了才出来辟谣的
那看来支付宝团队是太闲了才出来辟谣的
亮了(240)
回复
查看评论(6)
引用 @中国体彩店老板 发表的:
只看此人

之前那个说支付宝用方舟编译后启动变快的,特么我就好奇这些人是拿钱了还是脑回路惊奇还是怎么回事。虚假宣传真是恶心的一逼!

之前那个说支付宝用方舟编译后启动变快的,特么我就好奇这些人是拿钱了还是脑回路惊奇还是怎么回事。虚假宣传真是恶心的一逼!

支付宝都不得不站出来澄清说和方舟没关系
支付宝都不得不站出来澄清说和方舟没关系
亮了(555)
回复
查看评论(3)

之前那个说支付宝用方舟编译后启动变快的,特么我就好奇这些人是拿钱了还是脑回路惊奇还是怎么回事。虚假宣传真是恶心的一逼!

之前那个说支付宝用方舟编译后启动变快的,特么我就好奇这些人是拿钱了还是脑回路惊奇还是怎么回事。虚假宣传真是恶心的一逼!

亮了(487)
回复
查看评论(8)
引用 @中国体彩店老板 发表的:
只看此人

之前那个说支付宝用方舟编译后启动变快的,特么我就好奇这些人是拿钱了还是脑回路惊奇还是怎么回事。虚假宣传真是恶心的一逼!

之前那个说支付宝用方舟编译后启动变快的,特么我就好奇这些人是拿钱了还是脑回路惊奇还是怎么回事。虚假宣传真是恶心的一逼!

阿里那么多开发者的功劳被一句话就搞没了

阿里那么多开发者的功劳被一句话就搞没了

亮了(625)
回复
查看评论(3)
引用 @贰号科怀伦纳德 发表的:
只看此人
挺会添油加醋啊,隐隐约约有听说啦。
挺会添油加醋啊,隐隐约约有听说啦。

支付宝官方实打实的在知乎澄清声明过的,你阴阳怪气的又在说些什么?

支付宝官方实打实的在知乎澄清声明过的,你阴阳怪气的又在说些什么?

亮了(170)
回复

我还记得支付宝说启动快是自己优化而不是方舟的功劳

我还记得支付宝说启动快是自己优化而不是方舟的功劳

亮了(248)
回复
查看评论(3)
引用 @沧古丶 发表的:
只看此人

我还记得支付宝说启动快是自己优化而不是方舟的功劳

我还记得支付宝说启动快是自己优化而不是方舟的功劳

我也记得。
还有jr痛骂支付宝不识好歹。
我也记得。
还有jr痛骂支付宝不识好歹。
亮了(458)
回复
查看评论(2)
都不撕逼了,大概是弱鸡们战不动了 超出能力范围…
都不撕逼了,大概是弱鸡们战不动了 超出能力范围…
亮了(131)
回复
引用 @macrohuge 发表的:
只看此人
开源日程计划发布会上说的一清二楚,线下跟开发者们的交流活动更是接连不断,就你看的知乎回答里都有去切实交流还发系列文章跟感想的回复,有用的真正参与方舟开发的回答不看,专挑这些一蹦三尺高猴子一样瞎跳的回复陪着一起狒疼
开源日程计划发布会上说的一清二楚,线下跟开发者们的交流活动更是接连不断,就你看的知乎回答里都有去切实交流还发系列文章跟感想的回复,有用的真正参与方舟开发的回答不看,专挑这些一蹦三尺高猴子一样瞎跳的回复陪着一起狒疼
不是说9月15完全开源吗?完全开源在哪呢?
不是说9月15完全开源吗?完全开源在哪呢?
亮了(172)
回复
引用 @用户ID已封 发表的:
只看此人
我也记得。还有jr痛骂支付宝不识好歹。
我也记得。
还有jr痛骂支付宝不识好歹。

……我服了

……我服了

亮了(82)
回复
引用 @让我再躺会儿 发表的:
只看此人
别装死,回答我啊,去看看支付宝的知乎号闲不闲?
别装死,回答我啊,去看看支付宝的知乎号闲不闲?

华为六大公关公司不闲?你这脑回路真是新奇,还舔着脸要我回你

华为六大公关公司不闲?你这脑回路真是新奇,还舔着脸要我回你

亮了(70)
回复
查看评论(1)

基本就是专业的当笑话看,吃瓜群众在沸腾

基本就是专业的当笑话看,吃瓜群众在沸腾

亮了(178)
回复
查看评论(2)
引用 @macrohuge 发表的:
只看此人
开源日程计划发布会上说的一清二楚,线下跟开发者们的交流活动更是接连不断,就你看的知乎回答里都有去切实交流还发系列文章跟感想的回复,有用的真正参与方舟开发的回答不看,专挑这些一蹦三尺高猴子一样瞎跳的回复陪着一起狒疼
开源日程计划发布会上说的一清二楚,线下跟开发者们的交流活动更是接连不断,就你看的知乎回答里都有去切实交流还发系列文章跟感想的回复,有用的真正参与方舟开发的回答不看,专挑这些一蹦三尺高猴子一样瞎跳的回复陪着一起狒疼

这是他那个知乎回答下面的东西,我看和楼主发的一样的啊,都是批评,你说的那些在哪里呢?

这是他那个知乎回答下面的东西,我看和楼主发的一样的啊,都是批评,你说的那些在哪里呢?

亮了(108)
回复
查看评论(4)
引用 @galbrin 发表的:
只看此人

基本就是专业的当笑话看,吃瓜群众在沸腾

基本就是专业的当笑话看,吃瓜群众在沸腾

这就够了啊。。赚的就是吃瓜人的感情和钱。。
这就够了啊。。赚的就是吃瓜人的感情和钱。。
亮了(137)
回复
引用 @中国体彩店老板 发表的:
只看此人

之前那个说支付宝用方舟编译后启动变快的,特么我就好奇这些人是拿钱了还是脑回路惊奇还是怎么回事。虚假宣传真是恶心的一逼!

之前那个说支付宝用方舟编译后启动变快的,特么我就好奇这些人是拿钱了还是脑回路惊奇还是怎么回事。虚假宣传真是恶心的一逼!

难不成忘了去年吹的可以秒杀845的gt970?
难不成忘了去年吹的可以秒杀845的gt970?
亮了(153)
回复
查看评论(2)
引用 @贰号科怀伦纳德 发表的:
只看此人

[图片]

华为也没有说是方舟的功劳啊

查看更多

华为也没有说是方舟的功劳啊

这就是华为厉害的地方,自己不说,找几个海军去说,最后揭穿了也不关华为的事

这就是华为厉害的地方,自己不说,找几个海军去说,最后揭穿了也不关华为的事

亮了(121)
回复
查看评论(4)
引用 @赛博大雄 发表的:
只看此人
支付宝都不得不站出来澄清说和方舟没关系
支付宝都不得不站出来澄清说和方舟没关系
你这一说我就隐约记得数码区当初还真有过类似的帖子,什么方舟编译牛叉,支付宝速度提升之类的,不懂的人还真容易被误导
你这一说我就隐约记得数码区当初还真有过类似的帖子,什么方舟编译牛叉,支付宝速度提升之类的,不懂的人还真容易被误导
亮了(74)
回复
查看评论(2)
引用 @用户ID已封 发表的:
只看此人
我也记得。还有jr痛骂支付宝不识好歹。
我也记得。
还有jr痛骂支付宝不识好歹。

有时候你不得不服信仰这东西,他可以不懂编程 不懂技术 可以什么都不懂,但是偏偏就一口咬定xx是最牛逼的

有时候你不得不服信仰这东西,他可以不懂编程 不懂技术 可以什么都不懂,但是偏偏就一口咬定xx是最牛逼的

亮了(54)
回复
查看评论(1)
引用 @用户0362788623 发表的:
只看此人
发这些有毛用,想黑的人会选择性无视
发这些有毛用,想黑的人会选择性无视
他这就是现在编译器框架代码分析,和应用差十万八千里。
他这就是现在编译器框架代码分析,和应用差十万八千里。
亮了(28)
回复
引用 @薛茗之 发表的:
只看此人

一、部分视频研讨

方舟编译器源码初探

[media]url=https://www.bilibili.com/video/av66296736/;[/media]

方舟编译器源码深探之一

[media]url=https://www.bilibili.com/video/av66760612/;[/media]

二、专栏:方舟编译器学习笔记

https://zhuanlan.zhihu.com/openarkcompiler

作者:小乖他爹链接:https://www.zhihu.com/question/343667346/answer/829971679来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

小乖他爹:方舟编译器学习笔记1:方舟相关资料

小乖他爹:方舟编译器学习笔记2:源码编译

小乖他爹:方舟编译器学习笔记3 方舟可执行文件简介

小乖他爹:方舟编译器学习笔记4 文档导读

小乖他爹:方舟编译器学习笔记5 方舟开始接受代码合并请求

小乖他爹:方舟编译器学习笔记6 方舟开源目录简介

小乖他爹:方舟编译器学习笔记7 对java2jar及方舟工具链的进一步分析

小乖他爹:方舟编译器学习笔记8 工具链可运行(helloworld编译成功)

小乖他爹:方舟编译器学习笔记9 测试用例编译过程的试优化

小乖他爹:[方舟动态]方舟编译器开源技术沙龙见闻

小乖他爹:[方舟动态]上海方舟编译器开源代码学习讨论会成功举办

小乖他爹:方舟编译器学习笔记10 线下活动交流后的思考

小乖他爹:方舟编译器学习笔记11 IR设计文档中的IR总体设计思想

小乖他爹:方舟编译器学习笔记12 方舟编译器的phase

小乖他爹:方舟编译器学习笔记13 方舟编译器phase相关类的关系辨析

小乖他爹:方舟编译器学习笔记14 DriverRunner源码分析

小乖他爹:方舟编译器学习笔记15 DriverRunner的调用关系分析与编译工具链的反思

小乖他爹:方舟编译器学习笔记16 MapleCombCompiler与phase体系的代码对照

小乖他爹:方舟编译器学习笔记17 phase的实现和使用

小乖他爹:方舟编译器学习笔记18 Compiler及其子类

小乖他爹:方舟编译器学习笔记19 方舟编译器IR基本类型与LLVM IR基本类型的对比

小乖他爹:方舟编译器学习笔记20 方舟编译器的IR结构和LLVM的IR结构对比

小乖他爹:方舟编译器学习笔记21 MAPLE IR设计的指导论文——Fred Chow论文阅读

小乖他爹:方舟编译器学习笔记22 MAPLE IR和LLVM IR中module层面的信息对比

小乖他爹:方舟编译器学习笔记23 虚函数表和接口函数表的分析和验证

小乖他爹:方舟编译器学习笔记24 以一维数组为例看MAPLE IR中存储访问

小乖他爹:方舟编译器学习笔记25 MAPLE IR中的field-ID

三、方舟开源目录简介此次开源所放出来的一级目录主要六个:1、build目录:该目录下主要是环境设置脚本,和一些build所用的Makefile。2、doc目录:本次发布的几个文档,具体内容介绍见 文档导读 。3、license目录:许可文件。4、samples目录:示例程序目录,本次发布共公开了六个示例程序。5、src目录:本次发布所公开的源码目录。6、tools目录:为编译和使用过程中所用到的其他工具所预留的目录,该目录后续将存放llvm、gn、ninja。我们所关注的源码,是位于src目录之下。src目录之下又有12个文件夹:1、bin目录:该目录之下是四个可执行文件,其中除了maple之外的三个可执行文件,都要在build的时候copy到out/bin目录之下。2、third_party目录:该目录之下存放了第三方库zlib。3、deplibs目录:该目录之下存放了四个库,应该是编译的时候需要依赖的。其中的libmempool.a、libmplphase.a和libmaple_driverutil.a是编译maple所需要的,但是src目录之下的mempool目录、mpl_phase目录、mpl_util目录都只有头文件,所以直接在源码里附上这几个库。4、mempool目录:推测应该是内存池相关的代码,但是只有头文件,没有源文件。5、mpl_phase目录:推测是maple的phase的基本框架的代码,不包含具体的phase的代码。该目录只有头文件,没有源文件。关于phase,doc目录有两个关于phase的文档,可以从文档中获取一部分信息。6、mpl_util目录:推测是maple需要的一些util,字符串、log、计时器、版本等内容。7、huawei_secure_c目录:是一些安全代码,主要字符串操作、输入输出等,具体到函数就是str_cat_s、str_cpy_s等。8、maple_driver目录:这是maple可执行程序的主要源码所在的位置,它会调用其他的maple_开头的目录的部分内容。从其BUILD.gn中可以看到:另外,该目录之下的src/maple.cpp中的main函数,是maple可执行程序的入口。我们前文也提到过maple是out/bin目录下面的四个可执行程序中唯一一个根据源码编译出来的,所以我们要分析方舟的程序,绕不开这个目录以及这个入口点。9、maple_ipa目录:该目录是interleaved_manager和module_phase_manager的相关代码。phase的文档中对这块都有介绍:“PhaseManager负责phase的创建、管理和运行。与phase对应,有ModulePhaseManager和MeFuncPhaseManager两类。InterleavedManager负责phase manager的创建、管理和运行。通过调用AddPhases接口,它将创建一个对应类型的phase manager并添加进MapleVector中, 同时该phase manager相应的phase注册、添加也会自动被触发。”可以理解为ModulePhase类的phase的运行框架部分。10、maple_ir目录:该目录是针对maple的ir的基本操作的相关代码,与LLVM针对ir的基本操作类似。主要是对IR进行基本的分析,获取ir所要表达的信息。为之后的优化作准备。11、maple_me目录:该目录包含了有关MeFuncPhase类别的phase的框架及其具体内容,这是phase相关的一部分。所有的具体的MeFuncPhase的子类,实现都在该目录之下。12、mpl2mpl目录:该目录包含了一些从maple ir到maple ir的转换,这种转换都是为了后续的me做准备。该目录下的主题内容是ModulePhase类别的phase的具体实现。

一、部分视频研讨

方舟编译器源码初探

[media]url=https://www.bilibili.com/video/av66296736/;[/media]

方舟编译器源码深探之一

[media]url=https://www.bilibili.com/video/av66760612/;[/media]

二、专栏:方舟编译器学习笔记

https://zhuanlan.zhihu.com/openarkcompiler


作者:小乖他爹
链接:https://www.zhihu.com/question/343667346/answer/829971679
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

小乖他爹:方舟编译器学习笔记1:方舟相关资料

小乖他爹:方舟编译器学习笔记2:源码编译

小乖他爹:方舟编译器学习笔记3 方舟可执行文件简介

小乖他爹:方舟编译器学习笔记4 文档导读

小乖他爹:方舟编译器学习笔记5 方舟开始接受代码合并请求

小乖他爹:方舟编译器学习笔记6 方舟开源目录简介

小乖他爹:方舟编译器学习笔记7 对java2jar及方舟工具链的进一步分析

小乖他爹:方舟编译器学习笔记8 工具链可运行(helloworld编译成功)

小乖他爹:方舟编译器学习笔记9 测试用例编译过程的试优化

小乖他爹:[方舟动态]方舟编译器开源技术沙龙见闻

小乖他爹:[方舟动态]上海方舟编译器开源代码学习讨论会成功举办

小乖他爹:方舟编译器学习笔记10 线下活动交流后的思考

小乖他爹:方舟编译器学习笔记11 IR设计文档中的IR总体设计思想

小乖他爹:方舟编译器学习笔记12 方舟编译器的phase

小乖他爹:方舟编译器学习笔记13 方舟编译器phase相关类的关系辨析

小乖他爹:方舟编译器学习笔记14 DriverRunner源码分析

小乖他爹:方舟编译器学习笔记15 DriverRunner的调用关系分析与编译工具链的反思

小乖他爹:方舟编译器学习笔记16 MapleCombCompiler与phase体系的代码对照

小乖他爹:方舟编译器学习笔记17 phase的实现和使用

小乖他爹:方舟编译器学习笔记18 Compiler及其子类

小乖他爹:方舟编译器学习笔记19 方舟编译器IR基本类型与LLVM IR基本类型的对比

小乖他爹:方舟编译器学习笔记20 方舟编译器的IR结构和LLVM的IR结构对比

小乖他爹:方舟编译器学习笔记21 MAPLE IR设计的指导论文——Fred Chow论文阅读

小乖他爹:方舟编译器学习笔记22 MAPLE IR和LLVM IR中module层面的信息对比

小乖他爹:方舟编译器学习笔记23 虚函数表和接口函数表的分析和验证

小乖他爹:方舟编译器学习笔记24 以一维数组为例看MAPLE IR中存储访问

小乖他爹:方舟编译器学习笔记25 MAPLE IR中的field-ID




三、方舟开源目录简介
此次开源所放出来的一级目录主要六个:

1、build目录:该目录下主要是环境设置脚本,和一些build所用的Makefile。

2、doc目录:本次发布的几个文档,具体内容介绍见 文档导读 。

3、license目录:许可文件。

4、samples目录:示例程序目录,本次发布共公开了六个示例程序。

5、src目录:本次发布所公开的源码目录。

6、tools目录:为编译和使用过程中所用到的其他工具所预留的目录,该目录后续将存放llvm、gn、ninja。

我们所关注的源码,是位于src目录之下。src目录之下又有12个文件夹:

1、bin目录:该目录之下是四个可执行文件,其中除了maple之外的三个可执行文件,都要在build的时候copy到out/bin目录之下。

2、third_party目录:该目录之下存放了第三方库zlib。

3、deplibs目录:该目录之下存放了四个库,应该是编译的时候需要依赖的。

其中的libmempool.a、libmplphase.a和libmaple_driverutil.a是编译maple所需要的,但是src目录之下的mempool目录、mpl_phase目录、mpl_util目录都只有头文件,所以直接在源码里附上这几个库。

4、mempool目录:推测应该是内存池相关的代码,但是只有头文件,没有源文件。

5、mpl_phase目录:推测是maple的phase的基本框架的代码,不包含具体的phase的代码。该目录只有头文件,没有源文件。关于phase,doc目录有两个关于phase的文档,可以从文档中获取一部分信息。

6、mpl_util目录:推测是maple需要的一些util,字符串、log、计时器、版本等内容。

7、huawei_secure_c目录:是一些安全代码,主要字符串操作、输入输出等,具体到函数就是str_cat_s、str_cpy_s等。

8、maple_driver目录:这是maple可执行程序的主要源码所在的位置,它会调用其他的maple_开头的目录的部分内容。从其BUILD.gn中可以看到:

另外,该目录之下的src/maple.cpp中的main函数,是maple可执行程序的入口。我们前文也提到过maple是out/bin目录下面的四个可执行程序中唯一一个根据源码编译出来的,所以我们要分析方舟的程序,绕不开这个目录以及这个入口点。

9、maple_ipa目录:该目录是interleaved_manager和module_phase_manager的相关代码。phase的文档中对这块都有介绍:“PhaseManager负责phase的创建、管理和运行。与phase对应,有ModulePhaseManager和MeFuncPhaseManager两类。InterleavedManager负责phase manager的创建、管理和运行。通过调用AddPhases接口,它将创建一个对应类型的phase manager并添加进MapleVector中, 同时该phase manager相应的phase注册、添加也会自动被触发。”可以理解为ModulePhase类的phase的运行框架部分。

10、maple_ir目录:该目录是针对maple的ir的基本操作的相关代码,与LLVM针对ir的基本操作类似。主要是对IR进行基本的分析,获取ir所要表达的信息。为之后的优化作准备。

11、maple_me目录:该目录包含了有关MeFuncPhase类别的phase的框架及其具体内容,这是phase相关的一部分。所有的具体的MeFuncPhase的子类,实现都在该目录之下。

12、mpl2mpl目录:该目录包含了一些从maple ir到maple ir的转换,这种转换都是为了后续的me做准备。该目录下的主题内容是ModulePhase类别的phase的具体实现。










这个屁用都没有,因为连Demo都跑不起来。把工程目录翻译一遍有个屁用,也就糊弄糊弄外行。
就好像一个应届生刚入职第一周看工程架构一样,这个模块是干啥的,那个模块负责什么,然后写个学习文档。但人家好歹是货真价实的工程代码,能运行,有实际意义。这次开源连编译都编译不过,有什么好说的。官网上的demo是假的,关键是答案在前三天是错的,搞笑呢吧。
更好笑的是这层还那么多赞同,觉得开发者冤枉了华为。拜托你们闭嘴吧,屁都不懂在这高潮什么呢
这个屁用都没有,因为连Demo都跑不起来。把工程目录翻译一遍有个屁用,也就糊弄糊弄外行。
就好像一个应届生刚入职第一周看工程架构一样,这个模块是干啥的,那个模块负责什么,然后写个学习文档。但人家好歹是货真价实的工程代码,能运行,有实际意义。这次开源连编译都编译不过,有什么好说的。官网上的demo是假的,关键是答案在前三天是错的,搞笑呢吧。
更好笑的是这层还那么多赞同,觉得开发者冤枉了华为。拜托你们闭嘴吧,屁都不懂在这高潮什么呢
亮了(82)
回复
方舟编译器开源的质量很差 知乎上很多锤的
方舟编译器开源的质量很差 知乎上很多锤的
亮了(105)
回复
引用 @贰号科怀伦纳德 发表的:
只看此人
强行被你搞没了
强行被你搞没了
难道不是吗
难道不是吗
亮了(29)
回复
引用 @贰号科怀伦纳德 发表的:
只看此人
在同一时间段,华为介绍了方舟编译器这个项目,支付宝也优化了自家APP。在大家有所联想和误解难道不是很正常?支付宝作为当事人知道这个和方舟编译器没有半毛钱关系,出来辟谣有什么别的涵义吗?你的意思就是说,支付宝辟谣了,这个造谣的人一定就是华为。
在同一时间段,华为介绍了方舟编译器这个项目,支付宝也优化了自家APP。在大家有所联想和误解难道不是很正常?支付宝作为当事人知道这个和方舟编译器没有半毛钱关系,出来辟谣有什么别的涵义吗?
你的意思就是说,支付宝辟谣了,这个造谣的人一定就是华为。
这个舆论谁造的?靠几个网友能带成全网舆论?自媒体铺天盖地的文章没有利益吃饱了才会去写。
这个舆论谁造的?靠几个网友能带成全网舆论?自媒体铺天盖地的文章没有利益吃饱了才会去写。
亮了(56)
回复
引用 @赛博大雄 发表的:
只看此人
支付宝都不得不站出来澄清说和方舟没关系
支付宝都不得不站出来澄清说和方舟没关系
要感恩 还让你澄清。



再过几年华为竞争者统统被人设成联想第二 再敢澄清一个试试?
要感恩 还让你澄清。



再过几年华为竞争者统统被人设成联想第二 再敢澄清一个试试?
亮了(105)
回复
查看评论(1)
引用 @无心丶恋 发表的:
只看此人
100级的号就这水平?哪一家发布会不吹。苹果吹夜景、红米吹芯片和810相当,翻车没有,恶心不恶心?不都是一个套路吗,有啥可惊讶的。 支付宝那个华为官方有说过是方舟编译后快的吗?还扯到虚假宣传了,网友自己说的,跟虚假宣传有个啥关系?这都是什么脑回路。
100级的号就这水平?哪一家发布会不吹。苹果吹夜景、红米吹芯片和810相当,翻车没有,恶心不恶心?不都是一个套路吗,有啥可惊讶的。

支付宝那个华为官方有说过是方舟编译后快的吗?还扯到虚假宣传了,网友自己说的,跟虚假宣传有个啥关系?这都是什么脑回路。
gt那只是发布会吹?
当时数码区一片秒杀845,战平855的评论我可是历历在目
后来爱否直播测试,测试结果对gt不利,数码区还一堆人冷嘲热讽,我知道说到这里,肯定又有人要说爱否屁股是歪的了,没错,爱否屁股是歪的,但就那次直播测试gt来说,一点问题都没有
gt那只是发布会吹?
当时数码区一片秒杀845,战平855的评论我可是历历在目
后来爱否直播测试,测试结果对gt不利,数码区还一堆人冷嘲热讽,我知道说到这里,肯定又有人要说爱否屁股是歪的了,没错,爱否屁股是歪的,但就那次直播测试gt来说,一点问题都没有
亮了(84)
回复
查看评论(3)
引用 @让我再躺会儿 发表的:
只看此人
https://www.zhihu.com/answer/808727474,这个5k赞的看看?
https://www.zhihu.com/answer/808727474,这个5k赞的看看?

知乎最神奇的群体:匿名用户

知乎最神奇的群体:匿名用户

亮了(27)
回复
查看评论(1)
引用 @薛茗之 发表的:
只看此人

一、部分视频研讨

方舟编译器源码初探

[media]url=https://www.bilibili.com/video/av66296736/;[/media]

方舟编译器源码深探之一

[media]url=https://www.bilibili.com/video/av66760612/;[/media]

二、专栏:方舟编译器学习笔记

https://zhuanlan.zhihu.com/openarkcompiler

作者:小乖他爹链接:https://www.zhihu.com/question/343667346/answer/829971679来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

小乖他爹:方舟编译器学习笔记1:方舟相关资料

小乖他爹:方舟编译器学习笔记2:源码编译

小乖他爹:方舟编译器学习笔记3 方舟可执行文件简介

小乖他爹:方舟编译器学习笔记4 文档导读

小乖他爹:方舟编译器学习笔记5 方舟开始接受代码合并请求

小乖他爹:方舟编译器学习笔记6 方舟开源目录简介

小乖他爹:方舟编译器学习笔记7 对java2jar及方舟工具链的进一步分析

小乖他爹:方舟编译器学习笔记8 工具链可运行(helloworld编译成功)

小乖他爹:方舟编译器学习笔记9 测试用例编译过程的试优化

小乖他爹:[方舟动态]方舟编译器开源技术沙龙见闻

小乖他爹:[方舟动态]上海方舟编译器开源代码学习讨论会成功举办

小乖他爹:方舟编译器学习笔记10 线下活动交流后的思考

小乖他爹:方舟编译器学习笔记11 IR设计文档中的IR总体设计思想

小乖他爹:方舟编译器学习笔记12 方舟编译器的phase

小乖他爹:方舟编译器学习笔记13 方舟编译器phase相关类的关系辨析

小乖他爹:方舟编译器学习笔记14 DriverRunner源码分析

小乖他爹:方舟编译器学习笔记15 DriverRunner的调用关系分析与编译工具链的反思

小乖他爹:方舟编译器学习笔记16 MapleCombCompiler与phase体系的代码对照

小乖他爹:方舟编译器学习笔记17 phase的实现和使用

小乖他爹:方舟编译器学习笔记18 Compiler及其子类

小乖他爹:方舟编译器学习笔记19 方舟编译器IR基本类型与LLVM IR基本类型的对比

小乖他爹:方舟编译器学习笔记20 方舟编译器的IR结构和LLVM的IR结构对比

小乖他爹:方舟编译器学习笔记21 MAPLE IR设计的指导论文——Fred Chow论文阅读

小乖他爹:方舟编译器学习笔记22 MAPLE IR和LLVM IR中module层面的信息对比

小乖他爹:方舟编译器学习笔记23 虚函数表和接口函数表的分析和验证

小乖他爹:方舟编译器学习笔记24 以一维数组为例看MAPLE IR中存储访问

小乖他爹:方舟编译器学习笔记25 MAPLE IR中的field-ID

三、方舟开源目录简介此次开源所放出来的一级目录主要六个:1、build目录:该目录下主要是环境设置脚本,和一些build所用的Makefile。2、doc目录:本次发布的几个文档,具体内容介绍见 文档导读 。3、license目录:许可文件。4、samples目录:示例程序目录,本次发布共公开了六个示例程序。5、src目录:本次发布所公开的源码目录。6、tools目录:为编译和使用过程中所用到的其他工具所预留的目录,该目录后续将存放llvm、gn、ninja。我们所关注的源码,是位于src目录之下。src目录之下又有12个文件夹:1、bin目录:该目录之下是四个可执行文件,其中除了maple之外的三个可执行文件,都要在build的时候copy到out/bin目录之下。2、third_party目录:该目录之下存放了第三方库zlib。3、deplibs目录:该目录之下存放了四个库,应该是编译的时候需要依赖的。其中的libmempool.a、libmplphase.a和libmaple_driverutil.a是编译maple所需要的,但是src目录之下的mempool目录、mpl_phase目录、mpl_util目录都只有头文件,所以直接在源码里附上这几个库。4、mempool目录:推测应该是内存池相关的代码,但是只有头文件,没有源文件。5、mpl_phase目录:推测是maple的phase的基本框架的代码,不包含具体的phase的代码。该目录只有头文件,没有源文件。关于phase,doc目录有两个关于phase的文档,可以从文档中获取一部分信息。6、mpl_util目录:推测是maple需要的一些util,字符串、log、计时器、版本等内容。7、huawei_secure_c目录:是一些安全代码,主要字符串操作、输入输出等,具体到函数就是str_cat_s、str_cpy_s等。8、maple_driver目录:这是maple可执行程序的主要源码所在的位置,它会调用其他的maple_开头的目录的部分内容。从其BUILD.gn中可以看到:另外,该目录之下的src/maple.cpp中的main函数,是maple可执行程序的入口。我们前文也提到过maple是out/bin目录下面的四个可执行程序中唯一一个根据源码编译出来的,所以我们要分析方舟的程序,绕不开这个目录以及这个入口点。9、maple_ipa目录:该目录是interleaved_manager和module_phase_manager的相关代码。phase的文档中对这块都有介绍:“PhaseManager负责phase的创建、管理和运行。与phase对应,有ModulePhaseManager和MeFuncPhaseManager两类。InterleavedManager负责phase manager的创建、管理和运行。通过调用AddPhases接口,它将创建一个对应类型的phase manager并添加进MapleVector中, 同时该phase manager相应的phase注册、添加也会自动被触发。”可以理解为ModulePhase类的phase的运行框架部分。10、maple_ir目录:该目录是针对maple的ir的基本操作的相关代码,与LLVM针对ir的基本操作类似。主要是对IR进行基本的分析,获取ir所要表达的信息。为之后的优化作准备。11、maple_me目录:该目录包含了有关MeFuncPhase类别的phase的框架及其具体内容,这是phase相关的一部分。所有的具体的MeFuncPhase的子类,实现都在该目录之下。12、mpl2mpl目录:该目录包含了一些从maple ir到maple ir的转换,这种转换都是为了后续的me做准备。该目录下的主题内容是ModulePhase类别的phase的具体实现。

一、部分视频研讨

方舟编译器源码初探

[media]url=https://www.bilibili.com/video/av66296736/;[/media]

方舟编译器源码深探之一

[media]url=https://www.bilibili.com/video/av66760612/;[/media]

二、专栏:方舟编译器学习笔记

https://zhuanlan.zhihu.com/openarkcompiler


作者:小乖他爹
链接:https://www.zhihu.com/question/343667346/answer/829971679
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

小乖他爹:方舟编译器学习笔记1:方舟相关资料

小乖他爹:方舟编译器学习笔记2:源码编译

小乖他爹:方舟编译器学习笔记3 方舟可执行文件简介

小乖他爹:方舟编译器学习笔记4 文档导读

小乖他爹:方舟编译器学习笔记5 方舟开始接受代码合并请求

小乖他爹:方舟编译器学习笔记6 方舟开源目录简介

小乖他爹:方舟编译器学习笔记7 对java2jar及方舟工具链的进一步分析

小乖他爹:方舟编译器学习笔记8 工具链可运行(helloworld编译成功)

小乖他爹:方舟编译器学习笔记9 测试用例编译过程的试优化

小乖他爹:[方舟动态]方舟编译器开源技术沙龙见闻

小乖他爹:[方舟动态]上海方舟编译器开源代码学习讨论会成功举办

小乖他爹:方舟编译器学习笔记10 线下活动交流后的思考

小乖他爹:方舟编译器学习笔记11 IR设计文档中的IR总体设计思想

小乖他爹:方舟编译器学习笔记12 方舟编译器的phase

小乖他爹:方舟编译器学习笔记13 方舟编译器phase相关类的关系辨析

小乖他爹:方舟编译器学习笔记14 DriverRunner源码分析

小乖他爹:方舟编译器学习笔记15 DriverRunner的调用关系分析与编译工具链的反思

小乖他爹:方舟编译器学习笔记16 MapleCombCompiler与phase体系的代码对照

小乖他爹:方舟编译器学习笔记17 phase的实现和使用

小乖他爹:方舟编译器学习笔记18 Compiler及其子类

小乖他爹:方舟编译器学习笔记19 方舟编译器IR基本类型与LLVM IR基本类型的对比

小乖他爹:方舟编译器学习笔记20 方舟编译器的IR结构和LLVM的IR结构对比

小乖他爹:方舟编译器学习笔记21 MAPLE IR设计的指导论文——Fred Chow论文阅读

小乖他爹:方舟编译器学习笔记22 MAPLE IR和LLVM IR中module层面的信息对比

小乖他爹:方舟编译器学习笔记23 虚函数表和接口函数表的分析和验证

小乖他爹:方舟编译器学习笔记24 以一维数组为例看MAPLE IR中存储访问

小乖他爹:方舟编译器学习笔记25 MAPLE IR中的field-ID




三、方舟开源目录简介
此次开源所放出来的一级目录主要六个:

1、build目录:该目录下主要是环境设置脚本,和一些build所用的Makefile。

2、doc目录:本次发布的几个文档,具体内容介绍见 文档导读 。

3、license目录:许可文件。

4、samples目录:示例程序目录,本次发布共公开了六个示例程序。

5、src目录:本次发布所公开的源码目录。

6、tools目录:为编译和使用过程中所用到的其他工具所预留的目录,该目录后续将存放llvm、gn、ninja。

我们所关注的源码,是位于src目录之下。src目录之下又有12个文件夹:

1、bin目录:该目录之下是四个可执行文件,其中除了maple之外的三个可执行文件,都要在build的时候copy到out/bin目录之下。

2、third_party目录:该目录之下存放了第三方库zlib。

3、deplibs目录:该目录之下存放了四个库,应该是编译的时候需要依赖的。

其中的libmempool.a、libmplphase.a和libmaple_driverutil.a是编译maple所需要的,但是src目录之下的mempool目录、mpl_phase目录、mpl_util目录都只有头文件,所以直接在源码里附上这几个库。

4、mempool目录:推测应该是内存池相关的代码,但是只有头文件,没有源文件。

5、mpl_phase目录:推测是maple的phase的基本框架的代码,不包含具体的phase的代码。该目录只有头文件,没有源文件。关于phase,doc目录有两个关于phase的文档,可以从文档中获取一部分信息。

6、mpl_util目录:推测是maple需要的一些util,字符串、log、计时器、版本等内容。

7、huawei_secure_c目录:是一些安全代码,主要字符串操作、输入输出等,具体到函数就是str_cat_s、str_cpy_s等。

8、maple_driver目录:这是maple可执行程序的主要源码所在的位置,它会调用其他的maple_开头的目录的部分内容。从其BUILD.gn中可以看到:

另外,该目录之下的src/maple.cpp中的main函数,是maple可执行程序的入口。我们前文也提到过maple是out/bin目录下面的四个可执行程序中唯一一个根据源码编译出来的,所以我们要分析方舟的程序,绕不开这个目录以及这个入口点。

9、maple_ipa目录:该目录是interleaved_manager和module_phase_manager的相关代码。phase的文档中对这块都有介绍:“PhaseManager负责phase的创建、管理和运行。与phase对应,有ModulePhaseManager和MeFuncPhaseManager两类。InterleavedManager负责phase manager的创建、管理和运行。通过调用AddPhases接口,它将创建一个对应类型的phase manager并添加进MapleVector中, 同时该phase manager相应的phase注册、添加也会自动被触发。”可以理解为ModulePhase类的phase的运行框架部分。

10、maple_ir目录:该目录是针对maple的ir的基本操作的相关代码,与LLVM针对ir的基本操作类似。主要是对IR进行基本的分析,获取ir所要表达的信息。为之后的优化作准备。

11、maple_me目录:该目录包含了有关MeFuncPhase类别的phase的框架及其具体内容,这是phase相关的一部分。所有的具体的MeFuncPhase的子类,实现都在该目录之下。

12、mpl2mpl目录:该目录包含了一些从maple ir到maple ir的转换,这种转换都是为了后续的me做准备。该目录下的主题内容是ModulePhase类别的phase的具体实现。










这个我都看了,作者确实很认真的在研究,修修补补终于把sample跑出来了,能确定的一点是目前的开源程度,离华为当初宣传的进度差九万八千里
这个我都看了,作者确实很认真的在研究,修修补补终于把sample跑出来了,能确定的一点是目前的开源程度,离华为当初宣传的进度差九万八千里
亮了(67)
回复
查看评论(2)
我国企业都犯这个毛病,虚假宣传
但华为这么大体量的公司这么干,多少有点那个
类似于在路边摊吃饭碗里有头发,和到五星级吃饭碗里有头发,感觉不一样
所以一般号称自己世界顶尖的这种宣传,我多少都持怀疑态度,因为真正的顶尖不是自己说出来的。
我国企业都犯这个毛病,虚假宣传
但华为这么大体量的公司这么干,多少有点那个
类似于在路边摊吃饭碗里有头发,和到五星级吃饭碗里有头发,感觉不一样
所以一般号称自己世界顶尖的这种宣传,我多少都持怀疑态度,因为真正的顶尖不是自己说出来的。
亮了(79)
回复
查看评论(3)
引用 @中国体彩店老板 发表的:
只看此人

之前那个说支付宝用方舟编译后启动变快的,特么我就好奇这些人是拿钱了还是脑回路惊奇还是怎么回事。虚假宣传真是恶心的一逼!

之前那个说支付宝用方舟编译后启动变快的,特么我就好奇这些人是拿钱了还是脑回路惊奇还是怎么回事。虚假宣传真是恶心的一逼!

说实话我就被误导了,当时在虎扑看了几个视频,我以为方舟真的这么牛批,以为下半年开源之后可以做成一个又快又流畅的系统,开什么软件都秒开,结婚现在也没听到什么声音了……

说实话我就被误导了,当时在虎扑看了几个视频,我以为方舟真的这么牛批,以为下半年开源之后可以做成一个又快又流畅的系统,开什么软件都秒开,结婚现在也没听到什么声音了……

亮了(20)
回复
查看评论(2)
引用 @韩国首席财阀 发表的:
只看此人
我替华为“辩解”一下,目前开源的内容质量确实不高,但开发者大会明确说明了8月31日是开源编译器框架,完整的内容肯定会逐渐清理并添加上去。
我替华为“辩解”一下,目前开源的内容质量确实不高,但开发者大会明确说明了8月31日是开源编译器框架,完整的内容肯定会逐渐清理并添加上去。
demo都是动画,还指望什么
demo都是动画,还指望什么
亮了(48)
回复
查看评论(1)
引用 @macrohuge 发表的:
只看此人
本帖9楼就有参加方舟编译器线下活动的知友写的长篇文章链接,还是那句话,你们就是有用的回答不看,光跟着废物回答一起狒疼
本帖9楼就有参加方舟编译器线下活动的知友写的长篇文章链接,还是那句话,你们就是有用的回答不看,光跟着废物回答一起狒疼
我承认,我自己不懂这方面的东西
但你的意思是,我发的知乎上这些批评者都是废物,就那一个人是专家,是吧
那我没话说。我也没有黑华为的意思。随便你咯
我承认,我自己不懂这方面的东西
但你的意思是,我发的知乎上这些批评者都是废物,就那一个人是专家,是吧
那我没话说。我也没有黑华为的意思。随便你咯
亮了(40)
回复
查看评论(5)
引用 @曼联名宿范佩西 发表的:
只看此人

[图片]

华为六大公关公司不闲?你这脑回路真是新奇,还舔着脸要我回你

查看更多

华为六大公关公司不闲?你这脑回路真是新奇,还舔着脸要我回你

他不敢回你了,华为的六大公关公司实打实的存在,说不定他就是呢
他不敢回你了,华为的六大公关公司实打实的存在,说不定他就是呢
亮了(19)
回复
引用 @贾莫蘭特 发表的:
只看此人

这就是华为厉害的地方,自己不说,找几个海军去说,最后揭穿了也不关华为的事

这就是华为厉害的地方,自己不说,找几个海军去说,最后揭穿了也不关华为的事

所以在国内 疏油层 闪存混用 华为都可以冷处理 因为海军都帮他们处理了 看看华为在新加坡 就耍个猴 消费者不满意了 官方乖乖出来正式道歉
所以在国内 疏油层 闪存混用 华为都可以冷处理 因为海军都帮他们处理了 看看华为在新加坡 就耍个猴 消费者不满意了 官方乖乖出来正式道歉
亮了(51)
回复
查看评论(1)
引用 @贰号科怀伦纳德 发表的:
只看此人
哈哈哈,你挺适合当皇帝身边跟班那种人。
哈哈哈,你挺适合当皇帝身边跟班那种人。

华为万岁万岁万万岁!

华为万岁万岁万万岁!

亮了(18)
回复
引用 @巨饃蘸醬 发表的:
只看此人
华为可没说支付宝用了方舟编译过,而且在开发者大会提了开源日程。只是不明真相的吃瓜群众在那里造谣,锅又落到华为头上了。
华为可没说支付宝用了方舟编译过,而且在开发者大会提了开源日程。只是不明真相的吃瓜群众在那里造谣,锅又落到华为头上了。
自媒体吹牛逼的时候带节奏的时候没见你们这些人辟谣说华为没讲呢,现在被反噬了一拍屁股一点事没有了。
自媒体吹牛逼的时候带节奏的时候没见你们这些人辟谣说华为没讲呢,现在被反噬了一拍屁股一点事没有了。
亮了(14)
回复
引用 @用户0362788623 发表的:
只看此人
发这些有毛用,想黑的人会选择性无视
发这些有毛用,想黑的人会选择性无视
问题是这个作者就是这样分析之后发现现在开源的部分真的没什么用...😂
问题是这个作者就是这样分析之后发现现在开源的部分真的没什么用...😂
亮了(13)
回复
查看评论(1)
引用 @zz漱玉 发表的:
只看此人
我也是参加了北京方舟线下研讨会的人,虽然没啥门槛。别人明确说的是8月框架开源,展示方舟的设计思路和其中一个核心创新点,还有另一核心创新点runtime没给,这在上面有人发的知乎用户“小乖他爹”的研究下通过自己补齐了一些没发布的库后跑通了一次编译过程。然后日程表上写的是11月全部开源。不知道这与华为当初的宣传有什么不同,我去方舟的代码仓库看了也是这个安排啊。
我也是参加了北京方舟线下研讨会的人,虽然没啥门槛。别人明确说的是8月框架开源,展示方舟的设计思路和其中一个核心创新点,还有另一核心创新点runtime没给,这在上面有人发的知乎用户“小乖他爹”的研究下通过自己补齐了一些没发布的库后跑通了一次编译过程。然后日程表上写的是11月全部开源。不知道这与华为当初的宣传有什么不同,我去方舟的代码仓库看了也是这个安排啊。
那人做的那些皓首穷经的工作,应该是华为8月开源时间表承诺了本应提供的。



这就是问题。

时间表华为官网上有。
那人做的那些皓首穷经的工作,应该是华为8月开源时间表承诺了本应提供的。



这就是问题。

时间表华为官网上有。
亮了(12)
回复
查看评论(1)
引用 @无心丶恋 发表的:
只看此人
100级的号就这水平?哪一家发布会不吹。苹果吹夜景、红米吹芯片和810相当,翻车没有,恶心不恶心?不都是一个套路吗,有啥可惊讶的。 支付宝那个华为官方有说过是方舟编译后快的吗?还扯到虚假宣传了,网友自己说的,跟虚假宣传有个啥关系?这都是什么脑回路。
100级的号就这水平?哪一家发布会不吹。苹果吹夜景、红米吹芯片和810相当,翻车没有,恶心不恶心?不都是一个套路吗,有啥可惊讶的。

支付宝那个华为官方有说过是方舟编译后快的吗?还扯到虚假宣传了,网友自己说的,跟虚假宣传有个啥关系?这都是什么脑回路。
网友?没有利益谁会去造舆论?当初全网吹方舟秒开支付宝,没有利益支撑吃饱了去吹这个?现在百度方舟支付宝秒开,一堆自媒体写的文章,百度贴吧都还有一堆帖子。被打脸就说是网友干的,真是玩的好一手金蝉脱壳。
网友?没有利益谁会去造舆论?当初全网吹方舟秒开支付宝,没有利益支撑吃饱了去吹这个?现在百度方舟支付宝秒开,一堆自媒体写的文章,百度贴吧都还有一堆帖子。被打脸就说是网友干的,真是玩的好一手金蝉脱壳。
亮了(14)
回复
查看评论(1)
引用 @尾张的魔王 发表的:
只看此人
你这一说我就隐约记得数码区当初还真有过类似的帖子,什么方舟编译牛叉,支付宝速度提升之类的,不懂的人还真容易被误导
你这一说我就隐约记得数码区当初还真有过类似的帖子,什么方舟编译牛叉,支付宝速度提升之类的,不懂的人还真容易被误导
数码区最大的误导,就是970的GPU turbo吹。当时那吹的,我也信了,花了5000大洋买了p20pro。吃鸡经常掉帧,手被烫的全是汗。玩个游戏要拿一张湿巾纸垫着,然而并没有卵用,一会儿湿巾纸也烫了。
数码区最大的误导,就是970的GPU turbo吹。当时那吹的,我也信了,花了5000大洋买了p20pro。吃鸡经常掉帧,手被烫的全是汗。玩个游戏要拿一张湿巾纸垫着,然而并没有卵用,一会儿湿巾纸也烫了。
亮了(43)
回复
查看评论(3)
引用 @贾莫蘭特 发表的:
只看此人

这就是华为厉害的地方,自己不说,找几个海军去说,最后揭穿了也不关华为的事

这就是华为厉害的地方,自己不说,找几个海军去说,最后揭穿了也不关华为的事

华为从来没有在明面上被人抓住过把柄,内存混用疏油层绿屏为什么要道歉?道歉了不就等于认错了?只要我不认错有的是办法压下来
华为从来没有在明面上被人抓住过把柄,内存混用疏油层绿屏为什么要道歉?道歉了不就等于认错了?只要我不认错有的是办法压下来
亮了(13)
回复

全部回帖

收起
都不撕逼了,大概是弱鸡们战不动了 超出能力范围…
都不撕逼了,大概是弱鸡们战不动了 超出能力范围…
亮了(131)
回复

亮了(8)
回复

基本就是专业的当笑话看,吃瓜群众在沸腾

基本就是专业的当笑话看,吃瓜群众在沸腾

亮了(178)
回复
查看评论(2)
方舟编译器开源的质量很差 知乎上很多锤的
方舟编译器开源的质量很差 知乎上很多锤的
亮了(105)
回复

引用内容由于违规已被删除

给不明真相的群众灭灭火

给不明真相的群众灭灭火

亮了(59)
回复
查看评论(1)

一、部分视频研讨

方舟编译器源码初探

[media]url=https://www.bilibili.com/video/av66296736/;[/media]

方舟编译器源码深探之一

[media]url=https://www.bilibili.com/video/av66760612/;[/media]

二、专栏:方舟编译器学习笔记

https://zhuanlan.zhihu.com/openarkcompiler


作者:小乖他爹
链接:https://www.zhihu.com/question/343667346/answer/829971679
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

小乖他爹:方舟编译器学习笔记1:方舟相关资料

小乖他爹:方舟编译器学习笔记2:源码编译

小乖他爹:方舟编译器学习笔记3 方舟可执行文件简介

小乖他爹:方舟编译器学习笔记4 文档导读

小乖他爹:方舟编译器学习笔记5 方舟开始接受代码合并请求

小乖他爹:方舟编译器学习笔记6 方舟开源目录简介

小乖他爹:方舟编译器学习笔记7 对java2jar及方舟工具链的进一步分析

小乖他爹:方舟编译器学习笔记8 工具链可运行(helloworld编译成功)

小乖他爹:方舟编译器学习笔记9 测试用例编译过程的试优化

小乖他爹:[方舟动态]方舟编译器开源技术沙龙见闻

小乖他爹:[方舟动态]上海方舟编译器开源代码学习讨论会成功举办

小乖他爹:方舟编译器学习笔记10 线下活动交流后的思考

小乖他爹:方舟编译器学习笔记11 IR设计文档中的IR总体设计思想

小乖他爹:方舟编译器学习笔记12 方舟编译器的phase

小乖他爹:方舟编译器学习笔记13 方舟编译器phase相关类的关系辨析

小乖他爹:方舟编译器学习笔记14 DriverRunner源码分析

小乖他爹:方舟编译器学习笔记15 DriverRunner的调用关系分析与编译工具链的反思

小乖他爹:方舟编译器学习笔记16 MapleCombCompiler与phase体系的代码对照

小乖他爹:方舟编译器学习笔记17 phase的实现和使用

小乖他爹:方舟编译器学习笔记18 Compiler及其子类

小乖他爹:方舟编译器学习笔记19 方舟编译器IR基本类型与LLVM IR基本类型的对比

小乖他爹:方舟编译器学习笔记20 方舟编译器的IR结构和LLVM的IR结构对比

小乖他爹:方舟编译器学习笔记21 MAPLE IR设计的指导论文——Fred Chow论文阅读

小乖他爹:方舟编译器学习笔记22 MAPLE IR和LLVM IR中module层面的信息对比

小乖他爹:方舟编译器学习笔记23 虚函数表和接口函数表的分析和验证

小乖他爹:方舟编译器学习笔记24 以一维数组为例看MAPLE IR中存储访问

小乖他爹:方舟编译器学习笔记25 MAPLE IR中的field-ID




三、方舟开源目录简介
此次开源所放出来的一级目录主要六个:

1、build目录:该目录下主要是环境设置脚本,和一些build所用的Makefile。

2、doc目录:本次发布的几个文档,具体内容介绍见 文档导读 。

3、license目录:许可文件。

4、samples目录:示例程序目录,本次发布共公开了六个示例程序。

5、src目录:本次发布所公开的源码目录。

6、tools目录:为编译和使用过程中所用到的其他工具所预留的目录,该目录后续将存放llvm、gn、ninja。

我们所关注的源码,是位于src目录之下。src目录之下又有12个文件夹:

1、bin目录:该目录之下是四个可执行文件,其中除了maple之外的三个可执行文件,都要在build的时候copy到out/bin目录之下。

2、third_party目录:该目录之下存放了第三方库zlib。

3、deplibs目录:该目录之下存放了四个库,应该是编译的时候需要依赖的。

其中的libmempool.a、libmplphase.a和libmaple_driverutil.a是编译maple所需要的,但是src目录之下的mempool目录、mpl_phase目录、mpl_util目录都只有头文件,所以直接在源码里附上这几个库。

4、mempool目录:推测应该是内存池相关的代码,但是只有头文件,没有源文件。

5、mpl_phase目录:推测是maple的phase的基本框架的代码,不包含具体的phase的代码。该目录只有头文件,没有源文件。关于phase,doc目录有两个关于phase的文档,可以从文档中获取一部分信息。

6、mpl_util目录:推测是maple需要的一些util,字符串、log、计时器、版本等内容。

7、huawei_secure_c目录:是一些安全代码,主要字符串操作、输入输出等,具体到函数就是str_cat_s、str_cpy_s等。

8、maple_driver目录:这是maple可执行程序的主要源码所在的位置,它会调用其他的maple_开头的目录的部分内容。从其BUILD.gn中可以看到:

另外,该目录之下的src/maple.cpp中的main函数,是maple可执行程序的入口。我们前文也提到过maple是out/bin目录下面的四个可执行程序中唯一一个根据源码编译出来的,所以我们要分析方舟的程序,绕不开这个目录以及这个入口点。

9、maple_ipa目录:该目录是interleaved_manager和module_phase_manager的相关代码。phase的文档中对这块都有介绍:“PhaseManager负责phase的创建、管理和运行。与phase对应,有ModulePhaseManager和MeFuncPhaseManager两类。InterleavedManager负责phase manager的创建、管理和运行。通过调用AddPhases接口,它将创建一个对应类型的phase manager并添加进MapleVector中, 同时该phase manager相应的phase注册、添加也会自动被触发。”可以理解为ModulePhase类的phase的运行框架部分。

10、maple_ir目录:该目录是针对maple的ir的基本操作的相关代码,与LLVM针对ir的基本操作类似。主要是对IR进行基本的分析,获取ir所要表达的信息。为之后的优化作准备。

11、maple_me目录:该目录包含了有关MeFuncPhase类别的phase的框架及其具体内容,这是phase相关的一部分。所有的具体的MeFuncPhase的子类,实现都在该目录之下。

12、mpl2mpl目录:该目录包含了一些从maple ir到maple ir的转换,这种转换都是为了后续的me做准备。该目录下的主题内容是ModulePhase类别的phase的具体实现。










一、部分视频研讨

方舟编译器源码初探

[media]url=https://www.bilibili.com/video/av66296736/;[/media]

方舟编译器源码深探之一

[media]url=https://www.bilibili.com/video/av66760612/;[/media]

二、专栏:方舟编译器学习笔记

https://zhuanlan.zhihu.com/openarkcompiler


作者:小乖他爹
链接:https://www.zhihu.com/question/343667346/answer/829971679
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

小乖他爹:方舟编译器学习笔记1:方舟相关资料

小乖他爹:方舟编译器学习笔记2:源码编译

小乖他爹:方舟编译器学习笔记3 方舟可执行文件简介

小乖他爹:方舟编译器学习笔记4 文档导读

小乖他爹:方舟编译器学习笔记5 方舟开始接受代码合并请求

小乖他爹:方舟编译器学习笔记6 方舟开源目录简介

小乖他爹:方舟编译器学习笔记7 对java2jar及方舟工具链的进一步分析

小乖他爹:方舟编译器学习笔记8 工具链可运行(helloworld编译成功)

小乖他爹:方舟编译器学习笔记9 测试用例编译过程的试优化

小乖他爹:[方舟动态]方舟编译器开源技术沙龙见闻

小乖他爹:[方舟动态]上海方舟编译器开源代码学习讨论会成功举办

小乖他爹:方舟编译器学习笔记10 线下活动交流后的思考

小乖他爹:方舟编译器学习笔记11 IR设计文档中的IR总体设计思想

小乖他爹:方舟编译器学习笔记12 方舟编译器的phase

小乖他爹:方舟编译器学习笔记13 方舟编译器phase相关类的关系辨析

小乖他爹:方舟编译器学习笔记14 DriverRunner源码分析

小乖他爹:方舟编译器学习笔记15 DriverRunner的调用关系分析与编译工具链的反思

小乖他爹:方舟编译器学习笔记16 MapleCombCompiler与phase体系的代码对照

小乖他爹:方舟编译器学习笔记17 phase的实现和使用

小乖他爹:方舟编译器学习笔记18 Compiler及其子类

小乖他爹:方舟编译器学习笔记19 方舟编译器IR基本类型与LLVM IR基本类型的对比

小乖他爹:方舟编译器学习笔记20 方舟编译器的IR结构和LLVM的IR结构对比

小乖他爹:方舟编译器学习笔记21 MAPLE IR设计的指导论文——Fred Chow论文阅读

小乖他爹:方舟编译器学习笔记22 MAPLE IR和LLVM IR中module层面的信息对比

小乖他爹:方舟编译器学习笔记23 虚函数表和接口函数表的分析和验证

小乖他爹:方舟编译器学习笔记24 以一维数组为例看MAPLE IR中存储访问

小乖他爹:方舟编译器学习笔记25 MAPLE IR中的field-ID




三、方舟开源目录简介
此次开源所放出来的一级目录主要六个:

1、build目录:该目录下主要是环境设置脚本,和一些build所用的Makefile。

2、doc目录:本次发布的几个文档,具体内容介绍见 文档导读 。

3、license目录:许可文件。

4、samples目录:示例程序目录,本次发布共公开了六个示例程序。

5、src目录:本次发布所公开的源码目录。

6、tools目录:为编译和使用过程中所用到的其他工具所预留的目录,该目录后续将存放llvm、gn、ninja。

我们所关注的源码,是位于src目录之下。src目录之下又有12个文件夹:

1、bin目录:该目录之下是四个可执行文件,其中除了maple之外的三个可执行文件,都要在build的时候copy到out/bin目录之下。

2、third_party目录:该目录之下存放了第三方库zlib。

3、deplibs目录:该目录之下存放了四个库,应该是编译的时候需要依赖的。

其中的libmempool.a、libmplphase.a和libmaple_driverutil.a是编译maple所需要的,但是src目录之下的mempool目录、mpl_phase目录、mpl_util目录都只有头文件,所以直接在源码里附上这几个库。

4、mempool目录:推测应该是内存池相关的代码,但是只有头文件,没有源文件。

5、mpl_phase目录:推测是maple的phase的基本框架的代码,不包含具体的phase的代码。该目录只有头文件,没有源文件。关于phase,doc目录有两个关于phase的文档,可以从文档中获取一部分信息。

6、mpl_util目录:推测是maple需要的一些util,字符串、log、计时器、版本等内容。

7、huawei_secure_c目录:是一些安全代码,主要字符串操作、输入输出等,具体到函数就是str_cat_s、str_cpy_s等。

8、maple_driver目录:这是maple可执行程序的主要源码所在的位置,它会调用其他的maple_开头的目录的部分内容。从其BUILD.gn中可以看到:

另外,该目录之下的src/maple.cpp中的main函数,是maple可执行程序的入口。我们前文也提到过maple是out/bin目录下面的四个可执行程序中唯一一个根据源码编译出来的,所以我们要分析方舟的程序,绕不开这个目录以及这个入口点。

9、maple_ipa目录:该目录是interleaved_manager和module_phase_manager的相关代码。phase的文档中对这块都有介绍:“PhaseManager负责phase的创建、管理和运行。与phase对应,有ModulePhaseManager和MeFuncPhaseManager两类。InterleavedManager负责phase manager的创建、管理和运行。通过调用AddPhases接口,它将创建一个对应类型的phase manager并添加进MapleVector中, 同时该phase manager相应的phase注册、添加也会自动被触发。”可以理解为ModulePhase类的phase的运行框架部分。

10、maple_ir目录:该目录是针对maple的ir的基本操作的相关代码,与LLVM针对ir的基本操作类似。主要是对IR进行基本的分析,获取ir所要表达的信息。为之后的优化作准备。

11、maple_me目录:该目录包含了有关MeFuncPhase类别的phase的框架及其具体内容,这是phase相关的一部分。所有的具体的MeFuncPhase的子类,实现都在该目录之下。

12、mpl2mpl目录:该目录包含了一些从maple ir到maple ir的转换,这种转换都是为了后续的me做准备。该目录下的主题内容是ModulePhase类别的phase的具体实现。










亮了(64)
回复
查看评论(12)

我还记得支付宝说启动快是自己优化而不是方舟的功劳

我还记得支付宝说启动快是自己优化而不是方舟的功劳

亮了(248)
回复
查看评论(3)

之前那个说支付宝用方舟编译后启动变快的,特么我就好奇这些人是拿钱了还是脑回路惊奇还是怎么回事。虚假宣传真是恶心的一逼!

之前那个说支付宝用方舟编译后启动变快的,特么我就好奇这些人是拿钱了还是脑回路惊奇还是怎么回事。虚假宣传真是恶心的一逼!

亮了(487)
回复
查看评论(8)
期待掀桌子
期待掀桌子
亮了(0)
回复
开发者不支持华为,华为自己活该,这事作为消费者倒是无关紧要
开发者不支持华为,华为自己活该,这事作为消费者倒是无关紧要
亮了(1)
回复
我国企业都犯这个毛病,虚假宣传
但华为这么大体量的公司这么干,多少有点那个
类似于在路边摊吃饭碗里有头发,和到五星级吃饭碗里有头发,感觉不一样
所以一般号称自己世界顶尖的这种宣传,我多少都持怀疑态度,因为真正的顶尖不是自己说出来的。
我国企业都犯这个毛病,虚假宣传
但华为这么大体量的公司这么干,多少有点那个
类似于在路边摊吃饭碗里有头发,和到五星级吃饭碗里有头发,感觉不一样
所以一般号称自己世界顶尖的这种宣传,我多少都持怀疑态度,因为真正的顶尖不是自己说出来的。
亮了(79)
回复
查看评论(3)

引用内容由于违规已被删除

花粉进来喵一眼立即点击右上角红叉叉
花粉进来喵一眼立即点击右上角红叉叉
亮了(47)
回复
查看评论(3)
开源日程计划发布会上说的一清二楚,线下跟开发者们的交流活动更是接连不断,就你看的知乎回答里都有去切实交流还发系列文章跟感想的回复,有用的真正参与方舟开发的回答不看,专挑这些一蹦三尺高猴子一样瞎跳的回复陪着一起狒疼
开源日程计划发布会上说的一清二楚,线下跟开发者们的交流活动更是接连不断,就你看的知乎回答里都有去切实交流还发系列文章跟感想的回复,有用的真正参与方舟开发的回答不看,专挑这些一蹦三尺高猴子一样瞎跳的回复陪着一起狒疼
亮了(61)
回复
查看评论(6)
引用 @沧古丶 发表的:
只看此人

我还记得支付宝说启动快是自己优化而不是方舟的功劳

我还记得支付宝说启动快是自己优化而不是方舟的功劳

我也记得。
还有jr痛骂支付宝不识好歹。
我也记得。
还有jr痛骂支付宝不识好歹。
亮了(458)
回复
查看评论(2)

引用内容由于违规已被删除

华为代表了数码区的最高水平🤣

华为代表了数码区的最高水平🤣

亮了(57)
回复
引用 @galbrin 发表的:
只看此人

基本就是专业的当笑话看,吃瓜群众在沸腾

基本就是专业的当笑话看,吃瓜群众在沸腾

这就够了啊。。赚的就是吃瓜人的感情和钱。。
这就够了啊。。赚的就是吃瓜人的感情和钱。。
亮了(137)
回复
方舟只是框架开源啊,明年才完整开源,八字没一撇呢,哪里得出的没有端正的态度,还是乱黑啊
方舟只是框架开源啊,明年才完整开源,八字没一撇呢,哪里得出的没有端正的态度,还是乱黑啊
亮了(12)
回复
查看评论(2)
知乎说得好,最终还是为了硬件产品卖的更好,比如鸿蒙之于智慧屏
知乎说得好,最终还是为了硬件产品卖的更好,比如鸿蒙之于智慧屏
亮了(13)
回复
引用 @沧古丶 发表的:
只看此人

我还记得支付宝说启动快是自己优化而不是方舟的功劳

我还记得支付宝说启动快是自己优化而不是方舟的功劳

支付宝:我太难了
支付宝:我太难了
亮了(22)
回复
Re:zt知乎:方舟编译器的开源达到各位的预期了吗?
虎扑游戏中心
数码综合讨论最热帖
第一个把手机用出阶级属性并引以为豪的应该是华为粉丝吧
华为p70发布以后的舆论相比之前mate60时期真是不一样了?
决赛圈小米14pro还是x100pro
求jrs推荐个笔记本电脑 预算4000
入坑相机是不是可以认识很多妹妹?
小米流量挺大,整个朋友圈疯传!常州首撞
为什么还有人犟嘴说鸿蒙不是安卓
小艺救我狗命系列
正式宣布卖掉华为p60
小米手机拨不通报警电话是什么情况
数码综合讨论最新帖
笔记本求推荐
求jrs推荐个笔记本电脑 预算4000
余承东可以去小米上任管小米手机
求推荐个手机,要求如下
魅族20C
4月,比亚迪新能源汽车销量约31.32万辆,同比增加48.96%1-4月,比亚迪新能源汽车销量约93
没想到五一有新的福利壳可以秒杀对得起咱们精神股东了
开放式耳机有推荐吗?
4月,比亚迪新能源汽车销量约31.32万辆,同比增加48.96%1-4月,比亚迪新能源汽车销量约93
iPhone16有新工艺新配色每年iPhone升级的规律:外观微调、芯片升级、新的配色今年iPhon
热门游戏-即点即玩
无需下载,足球经理模式一键即玩
《NBA英雄》教练系统上线啦!我选好了,看看你的