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

华丽阁楼
101 楼
引用 @皂白 发表的:
大多数人对于这些问题都是无知的,那些说看笑话的连个专业点的词汇都说不出来。

无不无知都知道现在的开源连自己的sample都跑不了。
J
JSMcKenzie
102 楼
引用 @ZicoSs 发表的:
985都成边角料了… 这也太惨了吧…

他说的是985里的中下游边角料,其实华为上个星期还不远万里漂洋过海到我们学校开宣讲会了。对学硬件的同学必须要承认还是很有吸引力的。对于我们学软件的,基本就是有人提了一嘴,然后大家"哦",然后该干嘛干嘛。过了一会儿有人问:今年腾讯还来吗?

格策反
103 楼
引用 @我骑必胜cav 发表的:
我吹锤子了?华为公关和华为技术牛皮矛盾吗?
PPT骗过了老美,骗过了众科技公司,唯独骗不过你jrs,那确实牛皮。

老美吓趴了,华为不可战胜。鸿蒙手机在哪呢。

华丽阁楼
104 楼
引用 @大雄的梦想 发表的:
支付宝都不得不站出来澄清说和方舟没关系

要感恩 还让你澄清。

再过几年华为竞争者统统被人设成联想第二 再敢澄清一个试试?
h
hao娘
105 楼
引用 @贰号科怀伦纳德 发表的:
关键是支付宝那个事,我去搜了一下,华为没说是用了方舟啊。看高亮这些回复我以为是华为碰瓷支付宝呢。

什么都要华为官方说?华为之前年年挡子弹新闻,也是官方说的?
贰号科怀伦纳德
106 楼
引用 @就问你还有sei 发表的:
https://zhuanlan.zhihu.com/p/83970391 你可以看看这位大神的方舟编译器学习笔记专栏,他参加过开源线下交流,讲真,我不明白上来就下结论看衰的到底有没有真正了解,一个这么大的工程,刨去跟风黑和吹得,剩下像这样研究琢磨的能有百分之十吗?

就像是这个帖子,有的人跟着帖子的主题内容煽风点火说两句废话也可以获得很多点亮。

刘思杨
107 楼
引用 @薛茗之 发表的:
一、部分视频研讨 方舟编译器源码初探   方舟编译器源码深探之一   二、专栏:方舟编译器学习笔记 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的具体实现。


看不懂

九夸克
108 楼
也不知你们在这沸腾什么,被人乱带节奏,一个一个高潮迭起
华丽阁楼
109 楼
引用 @maur 发表的:
b乎那种地方喷国产正向技术是最积极的。真的关心开源的都知道开源是个漫长的过程,华为的开源时间表一半都没过就开始喷了,还自诩开发者。

黑子喷的再多也没用,实际如何过两年就知道了。

是啊 时间表方舟8月开源 然后8月31号开了这些

开发者按时间表开喷有问题?
罹患拖延癌
110 楼
引用 @薛茗之 发表的:
一、部分视频研讨 方舟编译器源码初探   方舟编译器源码深探之一   二、专栏:方舟编译器学习笔记 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的具体实现。


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

是沸腾

我骑必胜cav
112 楼
引用 @格策反 发表的:
老美吓趴了,华为不可战胜。鸿蒙手机在哪呢。

论阴阳怪气是我输了,鸿蒙用在华为智慧屏上了。
你瞧不起华为我没意见,不要扭曲事实装瞎,有能耐根据我的论点正面反驳我。
1
123de123
113 楼
引用 @zhangsl8397 发表的:
我承认,我自己不懂这方面的东西
但你的意思是,我发的知乎上这些批评者都是废物,就那一个人是专家,是吧
那我没话说。我也没有黑华为的意思。随便你咯

你这逻辑,实际上只不过从业人士多一点而已,方舟编译器那么多干货,你也就盯着这一个问题,去看看别的问题下面的干货行吗?https://www.zhihu.com/answer/808727474

e
enchanterwu
114 楼
引用 @格策反 发表的:
gt太恶心了,脚踢835,不虚845。搞笑一比。

跟gt970差不多同时期发布的是小米8,用的是845,当时数码区的论调可是秒杀845,战平855的
还有一些“gt是从底层改写了安卓系统”这种评论都有
就问你还有sei
115 楼
引用 @贰号科怀伦纳德 发表的:
就像是这个帖子,有的人跟着帖子的主题内容煽风点火说两句废话也可以获得很多点亮。

看到有人说华为粉丝的水平不行我就笑了,你自己几斤几两心里没b数?

贰号科怀伦纳德
116 楼
引用 @华丽阁楼 发表的:
要感恩 还让你澄清。

再过几年华为竞争者统统被人设成联想第二 再敢澄清一个试试?

哈哈哈,你挺适合当皇帝身边跟班那种人。

h
halfworm
117 楼
逼乎装的水货多,懂的人极少。 没什么看头的。 那边很适合文明观球倒是。。。
我骑必胜cav
118 楼
引用 @格策反 发表的:
老美吓趴了,华为不可战胜。鸿蒙手机在哪呢。

回错人了,另外,我不该和你争论,我投降。 [ 此帖被我骑必胜cav在2019-09-25 11:25修改 ]
华丽阁楼
119 楼
引用内容被灭过多已被折叠

皇帝的跟班不就是天天喊吾皇万岁这批人么。
棠树科
120 楼
引用内容由于违规已被删除

那么现在是怎么火起来的呢?

A
ABSB15
121 楼
呵呵,开发者说华为不够开源也被围攻?呵呵,精神股东上纲上线够可以的

用户名很叼
122 楼
引用 @薛茗之 发表的:
一、部分视频研讨 方舟编译器源码初探   方舟编译器源码深探之一   二、专栏:方舟编译器学习笔记 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的具体实现。


为啥发个不相关的华为东西都能高赞啊。。
真有水军吗
1
123de123
123 楼
引用 @曼联名宿范佩西 发表的:
那看来支付宝团队是太闲了才出来辟谣的

别装死,回答我啊,去看看支付宝的知乎号闲不闲?

D
DrenchedH
124 楼
意思是还没有开源是吧。今年的华为倒是一拖再拖,不知道是有前史还是就今年这样,也可能有美国封锁的关系强行秀一下,结果还是个架子

用户1031610088
125 楼
引用 @曼联名宿范佩西 发表的:
你真是个带预言家

我都可以预见十一前我的声望会成为负值

m
maur
126 楼
引用 @zhangsl8397 发表的:
我承认,我自己不懂这方面的东西
但你的意思是,我发的知乎上这些批评者都是废物,就那一个人是专家,是吧
那我没话说。我也没有黑华为的意思。随便你咯

知乎很多用户是上手就喷的,而且极为不客观,好像自己天下第一一样,过程稍微不顺就喷天喷地往死里黑。龙芯宇航芯片上天之前,一个用户在知乎上喷了好几个月,还扬言那玩意永远没法上天,下面一堆跟着赞。卫星上天之后他自己把帖子改了。
作为路人,不懂就等别人项目做完了再来评价,跟着所谓高手来黑是最没意思的。
j
jnlinuxer
127 楼
引用 @zhangsl8397 发表的:
我承认,我自己不懂这方面的东西
但你的意思是,我发的知乎上这些批评者都是废物,就那一个人是专家,是吧
那我没话说。我也没有黑华为的意思。随便你咯

恕我直言,如果知乎那些是真正的专家,看出有问题了,部分代码已经开源了,就应该去提交修改issue,这才是对待开源的正确做法

格策反
128 楼
引用 @我骑必胜cav 发表的:
回错人了,另外,我不该和你争论,我投降。

歪曲什么事实了,鸿蒙是啥,分布式全场景微内核低能耗,从移动端到桌面,重嵌入式到服务端,这不都是他宣传的么。怎么手机还是敌人的安卓。你说的智慧屏就是那个有adb和安卓webview的电视嘛。

曼联名宿范佩西
129 楼
引用 @薛茗之 发表的:
一、部分视频研讨 方舟编译器源码初探   方舟编译器源码深探之一   二、专栏:方舟编译器学习笔记 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跑出来了,能确定的一点是目前的开源程度,离华为当初宣传的进度差九万八千里

我骑必胜cav
130 楼
引用 @格策反 发表的:
歪曲什么事实了,鸿蒙是啥,分布式全场景微内核低能耗,从移动端到桌面,重嵌入式到服务端,这不都是他宣传的么。怎么手机还是敌人的安卓。你说的智慧屏就是那个有adb和安卓webview的电视嘛。

你这句说得没毛病,我没说鸿蒙必用在手机上,只说战略意义,无所谓了。
丶诺维吃鸡
131 楼
引用 @薛茗之 发表的:
一、部分视频研讨 方舟编译器源码初探   方舟编译器源码深探之一   二、专栏:方舟编译器学习笔记 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的具体实现。


你回复也就慢了几分钟,居然点亮数拍的这么后面,看来这事儿动了别人的蛋糕,哈哈哈哈

华丽阁楼
132 楼
引用 @DrenchedH 发表的:
意思是还没有开源是吧。今年的华为倒是一拖再拖,不知道是有前史还是就今年这样,也可能有美国封锁的关系强行秀一下,结果还是个架子

开了一半,不能算架子,但是不完整,自己给的Sample跑不起来。

说穿了就是广告部门牛逼吹大了,技术部门加班到死都赶不上。所以8月最后一天实在没办法了开了个半成品,中间把别人版权篡改了还撤回了一次。
m
maur
133 楼
引用 @华丽阁楼 发表的:
是啊 时间表方舟8月开源 然后8月31号开了这些

开发者按时间表开喷有问题?

华为方舟的开源时间表是8月就开源全部吗?喷子都是不带眼和脑的吗?
我骑必胜cav
134 楼
引用 @zhangsl8397 发表的:
我承认,我自己不懂这方面的东西
但你的意思是,我发的知乎上这些批评者都是废物,就那一个人是专家,是吧
那我没话说。我也没有黑华为的意思。随便你咯

你要弄清楚,知乎那个帖子就相当于篮球迷在shh喷某球星不行,看起来是懂行,专业的评论没几个。
丶诺维吃鸡
135 楼
引用 @macrohuge 发表的:
看看,你发的这个果然没人理

这是个令喷子们高潮不起来的项目,为什么呢?因为他们或许只认得键盘上面的26个字母而已。

虎扑用户702353
136 楼
引用内容由于违规已被删除

为什么😳

曼联名宿范佩西
137 楼
引用内容被灭过多已被折叠

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

华丽阁楼
138 楼
引用 @maur 发表的:
华为方舟的开源时间表是8月就开源全部吗?喷子都是不带眼和脑的吗?

https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler/readme

不过估计你也看不懂。

恕我直言,这个区的花粉除了人身攻击,真没什么过人之处。
和平天下HERO
139 楼
引用 @成都成都成天都堵 发表的:
正常 当年麒麟一代喷的人更多

若因为怕被喷 就不做

那估计就不是华为了

喷是因为流弊吹的太大,当年k3v2各种吹四核,多么多么流弊,用户用了没有不骂的。

z
zhangsl8397
140 楼
引用 @123de123 发表的:
https://www.zhihu.com/answer/808727474,这个5k赞的看看?

我是不太懂。但我看这个的意思是,工程量很大,很不容易。至于质量怎么样,他也说还是有差距啊

丶诺维吃鸡
141 楼
引用 @macrohuge 发表的:
本帖9楼就有参加方舟编译器线下活动的知友写的长篇文章链接,还是那句话,你们就是有用的回答不看,光跟着废物回答一起狒疼

现在就这样了,好的东西,有缺陷,不看,嘴巴喷粪能力一流,键盘敲得可响了,都是一堆闲得慌的人,别人搞技术,他用嘴敲键盘。

z
zz漱玉
142 楼
引用 @曼联名宿范佩西 发表的:
这个我都看了,作者确实很认真的在研究,修修补补终于把sample跑出来了,能确定的一点是目前的开源程度,离华为当初宣传的进度差九万八千里

我也是参加了北京方舟线下研讨会的人,虽然没啥门槛。别人明确说的是8月框架开源,展示方舟的设计思路和其中一个核心创新点,还有另一核心创新点runtime没给,这在上面有人发的知乎用户“小乖他爹”的研究下通过自己补齐了一些没发布的库后跑通了一次编译过程。然后日程表上写的是11月全部开源。不知道这与华为当初的宣传有什么不同,我去方舟的代码仓库看了也是这个安排啊。
诶~AI
143 楼
引用 @zhangsl8397 发表的:
我承认,我自己不懂这方面的东西
但你的意思是,我发的知乎上这些批评者都是废物,就那一个人是专家,是吧
那我没话说。我也没有黑华为的意思。随便你咯

你是不是撒,知乎和虎扑本质上有啥区别?

贝尔格莱德红星
144 楼
软件是秘密最少的一个学科,而且国内程序员多,吹牛很容易露馅。
b
bhjiafeimao
145 楼
引用 @就问你还有sei 发表的:
这是真正的干货,知乎上看似大神很多,能像这样态度琢磨的屈指可数,而且人家是真的去参加了开源线下学术交流的,键盘侠拿几个跳梁小丑的文章说事真的很蠢。

是啊,一个开源项目,自己的sample跑不来,还要开发者去找bug,可真牛逼啊.
说人家是跳梁小丑,你是什么,你比得上你说的哪些小丑?
你都不配跟人家比.
和平天下HERO
146 楼
引用内容被灭过多已被折叠

网友?没有利益谁会去造舆论?当初全网吹方舟秒开支付宝,没有利益支撑吃饱了去吹这个?现在百度方舟支付宝秒开,一堆自媒体写的文章,百度贴吧都还有一堆帖子。被打脸就说是网友干的,真是玩的好一手金蝉脱壳。

和平天下HERO
147 楼
引用 @老师的杰伦 发表的:
他们看到知乎有人喷,于是沸腾了,居然拿支付宝来黑华为好像华为要靠着支付宝出名一样 真的搞笑

是华为碰瓷支付宝吹方舟。

z
zz漱玉
148 楼
引用 @贝尔格莱德红星 发表的:
软件是秘密最少的一个学科,而且国内程序员多,吹牛很容易露馅。

所以一个按照开源时间表进行逐步开源的东西有啥喷的必要,真正11月之后没开源或者开源的都是辣鸡,那也藏不住啊,华为的信誉不是全毁了
y
yujiuqiwu
149 楼
引用 @zhangsl8397 发表的:
我是不太懂。但我看这个的意思是,工程量很大,很不容易。至于质量怎么样,他也说还是有差距啊

有差距很正常吧,麒麟芯片也不是一下就成为990的,不也是在嘲讽中慢慢成长的吗,当初比现在嘲讽方舟、鸿蒙的有过之而无不及。
和平天下HERO
150 楼
引用 @贰号科怀伦纳德 发表的:
在同一时间段,华为介绍了方舟编译器这个项目,支付宝也优化了自家APP。在大家有所联想和误解难道不是很正常?支付宝作为当事人知道这个和方舟编译器没有半毛钱关系,出来辟谣有什么别的涵义吗?
你的意思就是说,支付宝辟谣了,这个造谣的人一定就是华为。

这个舆论谁造的?靠几个网友能带成全网舆论?自媒体铺天盖地的文章没有利益吃饱了才会去写。

贝尔格莱德红星
151 楼
引用 @zz漱玉 发表的:
所以一个按照开源时间表进行逐步开源的东西有啥喷的必要,真正11月之后没开源或者开源的都是辣鸡,那也藏不住啊,华为的信誉不是全毁了

反正时间表也是自己定的,到时候再改就是了。
小7期
152 楼
引用内容由于违规已被删除

之前数码区用程序员的三大浪漫吹鸿濛的时候我就知道这区的水平估计连平均水平的cs本科生都没有,全是在嚼知乎(还是好几年前的知乎)的剩饭。轮子哥那完全无根无据的意淫扯淡被奉为圭臬
华丽阁楼
153 楼
引用 @zz漱玉 发表的:
我也是参加了北京方舟线下研讨会的人,虽然没啥门槛。别人明确说的是8月框架开源,展示方舟的设计思路和其中一个核心创新点,还有另一核心创新点runtime没给,这在上面有人发的知乎用户“小乖他爹”的研究下通过自己补齐了一些没发布的库后跑通了一次编译过程。然后日程表上写的是11月全部开源。不知道这与华为当初的宣传有什么不同,我去方舟的代码仓库看了也是这个安排啊。

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

这就是问题。
时间表华为官网上有。
和平天下HERO
154 楼
引用 @halfworm 发表的:
逼乎装的水货多,懂的人极少。 没什么看头的。 那边很适合文明观球倒是。。。

知乎好歹还有干货,数码区只剩下撕逼。

西
西工大真的是985丶
155 楼
引用内容由于违规已被删除

不是华为碰瓷?测试打开速度就用支付宝?没用你说明白啊。

华丽阁楼
156 楼
引用 @和平天下HERO 发表的:
知乎好歹还有干货,数码区只剩下撕逼。

屁的撕逼。啥都不懂撕个卵子。

就是仗着人多玩人身攻击而已。
虎扑用户468707
157 楼
引用内容由于违规已被删除

这个事情华为确实做的不够优秀,但不能说做错了。在美国的巨大压力下,很多项目不得不在未完善的情况下上线,必须要不停提拉进度,平时可以按部就班,战时必须火急火燎。开发者批评可以,因为他们是华为开源平台的客户,以客户为中心是华为的核心价值观,但是我希望开发者能理解大环境下的艰难,和华为一起把方舟和鸿蒙做起来。至于其他跳脚的人尽可以肆意狂欢,你对此抨击或是谩骂,谁在意呢?

z
zz漱玉
158 楼
引用 @贝尔格莱德红星 发表的:
反正时间表也是自己定的,到时候再改就是了。

额,你可以等改了再喷,而不是预支喷点

y
yujiuqiwu
159 楼
引用 @北溟之鱼 发表的:
说好不打脸的,提这事干嘛,对了还有鸿蒙呢,要灭天灭地的。

麒麟芯片也不是一下就成为990的,不也是在像你这种嘲讽中慢慢成长的吗,当初可比你嘲讽方舟、鸿蒙的有过之而无不及。
z
zz漱玉
160 楼
引用 @华丽阁楼 发表的:
那人做的那些皓首穷经的工作,应该是华为8月开源时间表承诺了本应提供的。

这就是问题。
时间表华为官网上有。

但我听介绍,一直说的都是展示思路和架构,好比一篇论文的概要部分。总不能看了概要后没法复现实验结果就说论文是错的吧

就问你还有sei
161 楼
引用 @bhjiafeimao 发表的:
是啊,一个开源项目,自己的sample跑不来,还要开发者去找bug,可真牛逼啊.
说人家是跳梁小丑,你是什么,你比得上你说的哪些小丑?
你都不配跟人家比.

喷的人有几个跑过?多少跟风的?有干货你不看?确实是小丑

华丽阁楼
162 楼
引用 @zz漱玉 发表的:
但我听介绍,一直说的都是展示思路和架构,好比一篇论文的概要部分。总不能看了概要后没法复现实验结果就说论文是错的吧

你看华为官网怎么写的。
我刚看了,现在是还没改。
z
zz漱玉
163 楼
引用 @西工大真的是985丶 发表的:
不是华为碰瓷?测试打开速度就用支付宝?没用你说明白啊。

测试打开速度用的微博极速版,从始至终官方没用过支付宝作展示

贝尔格莱德红星
164 楼
引用 @zz漱玉 发表的:
额,你可以等改了再喷,而不是预支喷点

他十年后开源我也不关心,我只关心技术上这东西是怎么实现的,但是目前开源出来的东西就是跑不起来,显然不像是一个“立项七年”“5000人研发”“已经成功编译微博极速版”“速度提高60%”的产品该有的样子。
K
KobeCurry3
165 楼
就像楼上的老哥说的 真真的世界高水平不是自己宣传的 而是人们要认可的 华为虚假宣传不可取
l
lzuergiser
166 楼
引用内容由于违规已被删除

数码区还要反过来教育你没有水平

就问你还有sei
167 楼
引用 @用户名很叼 发表的:
为啥发个不相关的华为东西都能高赞啊。。
真有水军吗

这干货不相关,撕逼才是相关?

z
zz漱玉
168 楼
引用 @贝尔格莱德红星 发表的:
他十年后开源我也不关心,我只关心技术上这东西是怎么实现的,但是目前开源出来的东西就是跑不起来,显然不像是一个“立项七年”“5000人研发”“已经成功编译微博极速版”“速度提高60%”的产品该有的样子。

但是按照安排确实没说能跑起来啊,你到底是喷他的东西辣鸡,还是喷他开源的晚,还是喷他没有按照安排开源呢
k
killob
169 楼
华为是什么水平,密切接触过的人大概都清楚,只是外面吹的多了再加上最近发生的事,让很多人有了错觉罢了。
冰糖雪梨酱哟
170 楼
引用内容由于违规已被删除

shuobail数码区的r只能喷浅一点的东西,深层次的没几个懂。。。真实

y
yujiuqiwu
171 楼
引用 @maur 发表的:
知乎很多用户是上手就喷的,而且极为不客观,好像自己天下第一一样,过程稍微不顺就喷天喷地往死里黑。龙芯宇航芯片上天之前,一个用户在知乎上喷了好几个月,还扬言那玩意永远没法上天,下面一堆跟着赞。卫星上天之后他自己把帖子改了。
作为路人,不懂就等别人项目做完了再来评价,跟着所谓高手来黑是最没意思的。

有些幸灾乐祸的搞的自己出生就百来斤,才高八斗一样,忘了自己也是需要时间成长的,当初麒麟芯片也是在一片嘲讽中慢慢发展起来的,总以为任何事情都可以立竿见影。
文科状元李太白
172 楼
引用内容被灭过多已被折叠

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

z
zz漱玉
173 楼
引用 @华丽阁楼 发表的:
你看华为官网怎么写的。
我刚看了,现在是还没改。

你说是这部分吧:
“框架开源供参考学习,了解方舟编译器架构及框架代码
开发者可构建出完整编译器工具链,支持Java Sample程序编译(非应用)”
这个第一点是我说的,第二点我也觉得开源的不太够,因为少的不是通用库是部分核心库。这个需要批评,“小乖他爹”解决的也是这个问题,毕竟那些少的库并非不可替代,所以方舟并非一个不存在的,他的sample也是可以跑起来的,只不过难度比他公告里描述的高很多。
尾张的魔王
174 楼
引用 @大雄的梦想 发表的:
支付宝都不得不站出来澄清说和方舟没关系

你这一说我就隐约记得数码区当初还真有过类似的帖子,什么方舟编译牛叉,支付宝速度提升之类的,不懂的人还真容易被误导

贝尔格莱德红星
175 楼
引用 @zz漱玉 发表的:
但是按照安排确实没说能跑起来啊,你到底是喷他的东西辣鸡,还是喷他开源的晚,还是喷他没有按照安排开源呢

我寻思我也没说什么过分的话吧,怎么就成“喷”了?
肉噶某
176 楼
引用 @小希拉 发表的:
数码区除了日常的小米华为倒闭,还会什么? 连个 holle world 都写不出,却在那里讨论技术,看着真想笑

emmmm,hello

追汤杜库拉
177 楼
引用 @伊比利亚邓 发表的:
数码区水平有限啊😂😂🤣🤣🤣

你以为虎扑上过大学的有几个。。。

沈蕴琦i
178 楼
引用 @贰号科怀伦纳德 发表的:
华为也没有说是方舟的功劳啊

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

青殿勿用
179 楼
引用内容由于违规已被删除

数码区就是口嗨区,除了对喷,毛用没有

虎扑用户770058
180 楼
引用 @zhangsl8397 发表的:
我国企业都犯这个毛病,虚假宣传
但华为这么大体量的公司这么干,多少有点那个
类似于在路边摊吃饭碗里有头发,和到五星级吃饭碗里有头发,感觉不一样
所以一般号称自己世界顶尖的这种宣传,我多少都持怀疑态度,因为真正的顶尖不是自己说出来的。

华为的宣传 你没见识到么

网易云音乐家
181 楼
引用内容由于违规已被删除

这编译器吹得太狠了。

b
bzcbzc
182 楼
华为作为一家硬件厂商,产品力绝对是可以的,基本代表了我国当前的最领先水平,就是这营销实在恶臭不堪,配不上开发人员的努力。很多华为粉丝会质疑旁人对华为太过苛刻,甚至扣上美分之类的帽子。但是实际上如果不是华为总想着搞个大新闻,总是在技术不尽成熟的时候就隆重推出,并每每冠以世界第一、改变生态之类的帽子,别人也不会以看待世界第一态度来检视它,因果顺序要搞清楚。

j
jinhui940220
183 楼
事实胜于雄辩,辩来辩去有结果吗?这些人不是蠢就是坏。和蠢的人说,他听不明白的。和坏的人说,他是假装不明白。

z
zz漱玉
184 楼
引用 @贝尔格莱德红星 发表的:
我寻思我也没说什么过分的话吧,怎么就成“喷”了?

确实没喷,我说话过激了

2
2758738
185 楼
引用内容被灭过多已被折叠

难道不是吗

景岚山巅
186 楼
引用内容由于违规已被删除

你100多亮不火,180+评论不火?

B
BlessXY
187 楼
开锤子了 开了个什么都用不了的??

强迫改名字
188 楼
人家怎么就不负责了?干什么了就不负责?你给人扣帽子总得有个理由吧

强迫改名字
189 楼
引用 @曼联名宿范佩西 发表的:
“粉丝行为,请勿上升到品牌层面”🐶(咋不见华为自己出来辟谣)

不是是反串行为?

强迫改名字
190 楼
引用 @西工大真的是985丶 发表的:
不是华为碰瓷?测试打开速度就用支付宝?没用你说明白啊。

凭什么是啊?

强迫改名字
191 楼
引用 @enchanterwu 发表的:
难不成忘了去年吹的可以秒杀845的gt970?

去年了没有,别睁眼说瞎话

强迫改名字
192 楼
引用 @和平天下HERO 发表的:
网友?没有利益谁会去造舆论?当初全网吹方舟秒开支付宝,没有利益支撑吃饱了去吹这个?现在百度方舟支付宝秒开,一堆自媒体写的文章,百度贴吧都还有一堆帖子。被打脸就说是网友干的,真是玩的好一手金蝉脱壳。

有没有想过反串黑也有利益啊?

最爱御姐
193 楼
知乎不学无术喷人的多了去了

这货开头就讲错了,这个开源项目是可以跑的
我是阿杜蜜
194 楼
支付宝启动速度变快,明明是阿里优化的,结果一堆海军说华为给力。。。那问题是支付宝在小米和魅族机子上也快了是咋回事?难不成小米和魅族搞出了啥编译器了?那为啥不见小米魅族出来吹牛逼?

I
Inceptionk
195 楼
引用 @帝王星三号 发表的:
发这些有毛用,想黑的人会选择性无视

问题是这个作者就是这样分析之后发现现在开源的部分真的没什么用...😂

巨饃蘸醬
196 楼
引用 @zhangsl8397 发表的:
我国企业都犯这个毛病,虚假宣传
但华为这么大体量的公司这么干,多少有点那个
类似于在路边摊吃饭碗里有头发,和到五星级吃饭碗里有头发,感觉不一样
所以一般号称自己世界顶尖的这种宣传,我多少都持怀疑态度,因为真正的顶尖不是自己说出来的。

华为可没说支付宝用了方舟编译过,而且在开发者大会提了开源日程。只是不明真相的吃瓜群众在那里造谣,锅又落到华为头上了。

花样作死爆扣君
197 楼
华为真的尼玛是个神奇的公司……

新人无所谓
198 楼
引用内容由于违规已被删除

这都10页了,真实
巨饃蘸醬
199 楼
引用 @lin801 发表的:
我特么说了华为或者它员工了吗?碰瓷支付宝吹启动速度不是虚假宣传?还有这么脑残的行为我还不能说了,还有我特么也是码农,至少不是跟你一样狗屁都不知道就在这里说别人。还有我也在知乎上喷过这个,真当写代码的只有华为会吗!

这个不是虚假宣传,这是造谣。虚假宣传是商家行为,可华为没有这么宣传。吃瓜群众造谣,锅成华为的了,算什么?

角鱼沙雕
200 楼
引用 @薛茗之 发表的:
一、部分视频研讨 方舟编译器源码初探   方舟编译器源码深探之一   二、专栏:方舟编译器学习笔记 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是假的,关键是答案在前三天是错的,搞笑呢吧。
更好笑的是这层还那么多赞同,觉得开发者冤枉了华为。拜托你们闭嘴吧,屁都不懂在这高潮什么呢