LLVM + RISC-V 技术讨论会 2020-07-05

Title: LLVM + RISC-V Meetup July 5th 2020

Hi all,

OSDT社区组织的 LLVM + RISC-V 技术讨论会将在7月5日周日上午10点开始。本次讨论的议题已经确定,活动形式采用线上 Zoom 会议 + B站直播的形式,欢迎国内外的小伙伴参与。报告以中文为主。

The next OSDT Meetup will happen on July 5th, 2020. The location is webinar style, using Bilibili live streaming and Zoom Meeting. Topics cover RISC-V software porting / enhancement and LLVM toolchain family.

本次活动由OSDT开源开发工具社区(含HelloGCC、HelloLLVM)与 Shanghai RISC-V Group 联合组织。感谢中科院软件所智能软件研究中心(ISRC)提供 Zoom 会议赞助。

We thank Shanghai RISC-V Group for event organization and I.S.C.A.S. for Zoom sharing. This meetup is hold by OSDT community (formerly HelloGCC and HelloLLVM communities).

活动时间 / Time

2020年7月5日 周日 10:00 AM – 12:00 AM

Sunday, July 5, 2020 at 10:00:00 am CST UTC+8 hours Shanghai

Saturday, July 4, 2020 at 7:00:00 pm PDT UTC-7 hours Las Vegas (USA – Nevada)

Sunday, July 5, 2020 at 02:00:00 Corresponding UTC (GMT)

活动议程 / Program

  • 开场介绍(吴伟 as MC)
  • Opening – Wei Wu (chair)
  • 蒙斌 – VxWorks on RISC-V: 切换 LLVM 编译器遇到的一些问题分享
  • Bin Meng – VxWorks on RISC-V: What we’ve learned about LLVM RISC-V toolchain
  • MaskRay – Clang 的 gcov 实现
  • MaskRay – GCov implementations in Clang
  • 王萌 – Spike模拟器Snapshot功能技术方案及实现分享
  • Meng Wang – implement snapshot feature for Spike RISC-V simulator
  • 陈影 – 基于LLVM实现RISC-V用户自定义指令支持——以玄铁C910处理器为例
  • Ying Chen – Custom ISA Support Using LLVM: XuanTie C910 as an example
  • 自由话题讨论
  • Free discussion

蒙斌 – VxWorks on RISC-V: 切换 LLVM 编译器遇到的一些问题分享

Bin Meng – VxWorks on RISC-V: What we’ve learned about LLVM RISC-V toolchain

分享 VxWorks 操作系统在支持 RISC-V 架构从 GCC 编译器切换到 LLVM 过程中遇到的各种“坑”.

In this talk we will share our lessons learned in the transition of using LLVM RISC-V toolchain to build VxWorks Operation System.

演讲者蒙斌来自风河系统中国研发中心,VxWorks 产品部门高级研发经理。开源社区积极参与者和贡献者,RISC-V 坚定的推广者 🙂

Bin Meng is from WindRiver. He is the senior R&D manager in VxWorks Department. Bin is very active tech promoter for RISC-V and other open source communities.

MaskRay – Clang 的 gcov 实现

MaskRay – GCov implementations in Clang

GCC提供 gcov 用于实现code coverage。本次主题浅析clang对它的兼容实现和最近本人的一些改进。

gcov is a code coverage tool which originated from GNU GCC. In this talk MaskRay will introduce the gcov implementation in Clang, with a few new improvements realized by him.

MaskRay,一个活跃的LLVM开发者 (LLD+binary utilities 维护者,缓慢学习 clang/middle-end/CodeGen),退休的Algo/CTF/Student Cluster Competition 选手 / emacs-lsp 维护者。ccls++🎉

MaskRay is an active LLVM developer (maintains LLD + Binary Utilities, learning clang/middle-end/codegen slowly), a retired Algo / CTF / Student Cluster Competition athlete / emacs-lsp maintainer. ccls++🎉

王萌:Spike模拟器snapshot功能技术方案及实现分享

Meng Wang – implement snapshot feature for Spike RISC-V simulator

Spike 是用于验证RISC-V程序的模拟器,使用 C++ 编写,提供了模拟一个或多个 RISC-V hart 的功能模型。我们在spike的基础上进行开发,为其实现 snapshot 即快照功能,用于程序状态的保存及恢复。目前,我们已经完成了部分功能开发,本次报告将针对其技术方案和具体实现进行介绍。

Spike is a simulator for RISC-V. We are implementing a few new features for Spike. In this talk, we will share details of our ongoing work for snapshot feature.

王萌,武汉大学大二和大三之间,PLCT实验室模拟器分支LV3实习生。指导老师:PLCT实验室李威威主管。

同时我们感谢中科院信工所宋威老师提出并完善了 snapshot 功能需要达到的各项功能指标。

Meng Wang is an undergraduate from Wuhan University. He is currently working with his intern mentor Weiwei Li in PLCT Lab as intern.

We thank Dr. Wei Song from IIE. The idea was provided by Dr. Song.

陈影:基于LLVM实现RISC-V用户自定义指令支持——以玄铁C910处理器为例

Ying Chen – Custom ISA Support Using LLVM: XuanTie C910 as an example

基于LLVM框架,说明如何实现其中RISC-V后端的用户自定义指令的支持,并以玄铁C910处理器为例,具体说明如何在LLVM中添加其扩展指令集的支持。玄铁 C910的指令集架构是在RISC-V标准指令集架构的基础上,增加了部分自定义指令,以提高处理器性能,这部分扩展指令集主要包括有Cache指令子集,同步指令子集,算术运算指令子集,位操作指令子集以及存储指令子集。本次报告阐述的主要工作就是如何RISC-V后端实现这些扩展指令的支持。具体工作内容包括:为LLVM的RISCV后端添加一个C910命令行选项,实现llvm-mc汇编器的支持,使用TableGen语言编写全部扩展指令的汇编代码,能够将玄铁C910汇编指令汇编生成二进制文件,并编写测试用例,验证汇编指令编码的正确性。本项目对于在LLVM中添加用户自定义指令具有良好的指导意义,未来计划考虑添加对其他指令集架构的支持。

We have implemented an open source toolchain for XuanTie C910. In this talk Ying Chen will give a short tutorial about custom ISA support using LLVM. source code could be download or viewed at:
https://github.com/isrc-cas/c910-llvm

陈影,就读于合肥工业大学计算数学专业,研究生在读,目前在中科院软件所PLCT实验室实习。指导老师PLCT实验室邢明杰高级工程师。

Ying Chen is a graduate from Hefei University of Technology. She is an intern in PLCT lab. Mingjie Xing is her intern mentor.

直播观看(永久地址,可收藏)

https://live.bilibili.com/10339607

不需要报名,直接看。如果有B站账号,登陆之后可以进行弹幕提问。

Anyone who has internet access could watch this meetup using Bilibili live streaming.

Login users could post questions using DanMu feature.

通过 Zoom 参加

我们将在会议当天上午通过 HelloGCC 公众号(搜索 hellogcc2007)发布会议信息。请通过负责人微信或HelloGCC公众号与我们联系,获取Zoom会议室信息。没有微信的朋友请通过 lazyparser at gmail.com 跟我联系,请在邮件标题中体现本次活动信息以免被垃圾邮件过滤。

Please drop an email to Wei Wu (lazyparser at gmail.com) for Zoom ID (and passcode).

演讲报名

目前仍可以进行闪电演讲,请联系OSDT社区负责人吴伟报名。直接负责人微信报名或通过 lazyparser at gmail.com 后台留言。

Lightning talks are welcome. Please contact Wei Wu if you want to give a talk.

https://github.com/hellogcc/osdt-weekly/blob/master/images/hellogcc-wuwei.jpeg

V8 线上技术讨论会 2020-06-07

OSDT开源开发工具社区(含HelloGCC、HelloLLVM)本周日(6月7日)上午10点举办V8主题的技术交流会,线上活动,欢迎大家参加。

本次V8主题聚会采用线上聚会形式,分为两种参与方式:观看活动可以直接通过B站( bilibili.com )看直播,不需要登陆或账号(有B站账号可以发弹幕讨论);参与现场讨论或报名参加技术分享,需要使用腾讯会议app接入,用于语音讨论或分享屏幕。由于直播的法规要求,参与腾讯会议的小伙伴要求用真实姓名和手机号码向活动负责人吴伟(lazyparser)报名(报名通过微信,请扫描文末二维码)。

活动时间

2020年6月7日 周日 10:00 AM – 11:30 AM

活动议程

  1. 开场介绍(吴伟,主持人)
  2. V8引擎TurboFan后端代码浅析 – 邱吉
  3. QuickJS源代码架构分析 – 丁乐华
  4. 闪电演讲、自由话题讨论(不局限于V8)

直播观看

https://live.bilibili.com/10339607

(不需要报名,可以弹幕讨论)

参与讨论 & 演讲报名

提前报名(实名),通过腾讯会议app接入。请联系HelloGCC负责人报名(见下方二维码)

同时我们欢迎场地支持和赞助。欢迎有意向赞助的小伙伴联系我们。

报名二维码(请标注「OSDT」或「HelloGCC」或「V8活动」方便通过)

https://github.com/hellogcc/osdt-weekly/blob/master/images/hellogcc-wuwei.jpeg

OSDT Weekly 2020-05-20 第046期

大家5·20快乐❤️

近期线下活动

下一次聚会计划是V8主题。目前正在征集分享的话题。计划是线上。

同时我们欢迎场地支持和赞助。欢迎有志同道合的小伙伴联系我们。

编译社区的八卦信息

GCC

  • 华为的 patch,看起来不太专业,居然不带 testcase
    [PATCH] aarch64: Change the definition of Pmode [pr95182]
    https://gcc.gnu.org/pipermail/gcc-patches/2020-May/545906.html
  • [PATCH] x86: Update Intel processor detection
    https://gcc.gnu.org/pipermail/gcc-patches/2020-May/545925.html
  • Martin 贡献 ChangLog 自动生成的脚本
    New mklog script
    https://gcc.gnu.org/pipermail/gcc-patches/2020-May/545792.html
  • dejagnu version update?
    https://gcc.gnu.org/pipermail/gcc/2020-May/232427.html
  • [COMMITTED 0/2][BPF] Introduce -mxbpf and first extension
    https://gcc.gnu.org/pipermail/gcc-patches/2020-May/546032.html
  • [PATCH] Implement no_stack_protect attribute.
    https://gcc.gnu.org/pipermail/gcc-patches/2020-May/545916.html
  • [PATCH 0/5] rs6000: Fixes for Future, mostly testsuite
    https://gcc.gnu.org/pipermail/gcc-patches/2020-May/545843.html

Binutils/GDB

  • [PATCH 0/8] OpenRISC BFD fixups for Glibc
    https://gcc.gnu.org/pipermail/binutils/2020-May/111071.html
  • PowerPC POWER10 updates to dcbf, sync and wait instructions
    https://gcc.gnu.org/pipermail/binutils/2020-May/111101.html
  • Nelson Chu 的 RISC-V CSR 支持 patch set,push 了快两个月了
    [PATCH v2 0/9] RISC-V: Support version controlling for ISA standard extensions and CSR
    https://gcc.gnu.org/pipermail/binutils/2020-May/111162.html

GLIBC

  • [PATCH 00/13] Signal and error list refactoring
    https://gcc.gnu.org/pipermail/libc-alpha/2020-May/114102.html
  • [PATCH 00/19] Signal mask for timer helper thread
    https://gcc.gnu.org/pipermail/libc-alpha/2020-May/114065.html
  • Florian Weimer 关于动态链接库的一系列小优化
    https://gcc.gnu.org/pipermail/libc-alpha/2020-May/author.html#114099

LLVM/Clang/LLDB/LLD

本节内容来自 LLVM Weekly 第333期
Alex Bradbury 大哥持续稳定输出。

  • Rust 1.0 发布五周年(当然Rust诞生的时间要早得多,到1.0花了挺久)。有篇博客介绍了这五年。
    https://blog.rust-lang.org/2020/05/15/five-years-of-rust.html
  • Egor Bogatov 写了篇博客讨论如何在LLVM中实现一个新的窥孔优化.
  • MLIR newsletter 第七期出来了。
    https://llvm.discourse.group/t/mlir-news-7th-edition-5-15-2020/1015
  • ORC JIT Weekly 16
    provides information on JITLink ELF/x86 and updates on removable code.
  • Constant pools are now handled in the RISC-V load/store peephole
    optimisation, improving codegen especially for loading FP constants.
    969e703.
  • LLVM libc gained implementations of fabs and fabsf.
    4a39a33.
    这个项目可能说不定以后会发挥有意思的作用。

RISC-V in China

最近台湾的晶芯科和上海的赛舫都开始开设线上技术直播了。讲师们的宣传照一个比一个帅。

果然现在连画个电路板都需要看颜值了么(我等相貌平庸之辈路在何方……

TVM 社区

风平浪静。

Mozilla

风平浪静。

方舟开源编译器社区

OpenArkCompiler Weekly – #11 May 17th 2020

社区动态:
1、方舟编译器社区在5月12日上午举行了会议。会议纪要如下:
小乖他爹版:https://zhuanlan.zhihu.com/p/139890748
社区版:https://gitee.com/harmonyos/OpenArkCompiler/issues/I1H1SO
2、方舟编译器社区发布会议通知,将于2020-05-19 09:00-11:00((UTC+08:00)Beijing)召开会议,会议采用Zoom,会议ID:148 489 624。
3、PLCT实验室发布了《PLCT开源进展·第一期·2020年05月16日》,将以往的周刊改为半月刊,其中介绍了PLCT实验室在各个编译方向的开源工作,其中包含了方舟编译器社区的相关工作:
https://zhuanlan.zhihu.com/p/141463489

Commits:
1、为测试结果添加XML输出格式:https://gitee.com/harmonyos/OpenArkCompiler/commit/8d3e6b2789bebf9e4962d15b6f74074d4a45ea5a
2、do inline again after me phases:
https://gitee.com/harmonyos/OpenArkCompiler/commit/dccac75f7ad10634e605c94e2dca679f928bbee2
3、为ConstvalNode添加ARM32支持:
https://gitee.com/harmonyos/OpenArkCompiler/commit/f91af1890939bb591c84912e3d1202f2322c3eb7

(本节内容来自中科院软件所智能软件研究中心PLCT实验室史宁宁的方舟周报)

其它社区的 Weekly

欢迎感兴趣的小伙伴提 Pull Requests 完善内容❤️
我们希望能够尽可能多的扩展下OSDT的覆盖范围。

This Week in Rust #339:
https://this-week-in-rust.org/blog/2020/05/19/this-week-in-rust-339/

Golang Weekly #312:
https://golangweekly.com/issues/312

WebAssembly Weekly #118:
https://wasmweekly.news/issue-118/

最近更新的都还挺规律 :)

Academic

听说PLDI可以线上免费参与了。真好啊。

本周工具链岗位

远程实习机会: PLCT实验室招聘编译器/虚拟机/IDE开发实习生

本周推荐阅读

本周推荐:《狂热分子》

作为IT从业者,最近朋友圈完全被美国VS华为刷屏。我们不仅正在经历和见证百年一遇的大流行病(pandemic),同时也在见证人类历史上的灯塔们时不时就来那么一下子的礼崩乐坏。仿佛一夜之间所有的文明国家都开始斯文扫地,开始撒泼起来。

不是的。一向如此。只是我们看的书不够多。

这本《狂热分子》是如此的经典,自20世纪上半叶问世以来就风靡全世界;又是如此的敏感和不好评论,以至于可能即使是摘录书中的一两个段落都会让我们这个不起眼的技术公众号从微信里消失。码头哲学家埃里克·霍弗总结出的结论是普遍适用于所有人类政治结构的。埃里克·霍弗总结的是人类的运动规律。

买一本纸质书,拿在手里,小心的阅读,尽量不要让发自内心的惊叹脱口而出。

作者: [美] 埃里克·霍弗
出版社: 广西师范大学出版社
出品方: 理想国
副标题: 群众XX圣经
原作名: True Believer : Thoughts on the Nature of Mass Movements
译者: 梁永安
出版年: 2011-6
页数: 207
定价: 34.00元
装帧: 精装
丛书: 理想国 人文精选
ISBN: 9787563374625

https://book.douban.com/subject/3057556/

QEMU 线上技术讨论会 2020-05-17


Hi 社区小伙伴们,

经过了近小半年的 Stay Home,我们终于可以开始逐步回复技术聚会活动了(激动地绕着床转)。接下来我们将会比较密集的举办一些特定软件专题的讨论分享活动。本周日(5月17日)为QEMU主题,下周日(5月24日)为V8主题,下下周(5月31日)为LLVM主题。

QEMU主题采用线上聚会形式,分为两种参与方式:观看活动可以直接通过B站( bilibili.com )看直播,不需要登陆或账号(有B站账号可以发弹幕讨论);参与现场讨论或报名参加技术分享,需要使用腾讯会议app接入,用于语音讨论或分享屏幕。由于直播的法规要求,参与腾讯会议的小伙伴要求用真实姓名和手机号码向活动负责人吴伟(lazyparser)报名(报名通过微信,请扫描文末二维码)。

活动主题:QEMU专题技术分享

活动议程(已报名分享内容)

  1. HelloGCC开场介绍及后续活动计划说明(吴伟,主持人)
  2. QEMU设备模拟支持:以I2C为例(李威威)
  3. QTest 在 QEMU 中的简单应用(陈嘉炜)
  4. QEMU 中的 RISC-V 相关实现:以 SiFive 为例(高志远)
  5. QEMU TCG Plugins 介绍和使用(王俊强)
  6. 新报名的报名分享以及自由讨论

直播观看

https://live.bilibili.com/10339607
(不需要报名,可以弹幕讨论)

参与讨论 & 演讲报名

提前报名(实名),通过腾讯会议app接入。请联系HelloGCC负责人报名(见下方二维码)

同时我们欢迎场地支持和赞助。欢迎有意向赞助的小伙伴联系我们。

报名二维码(请标注【HelloGCC】或「QEMU活动」方便通过)

https://github.com/hellogcc/osdt-weekly/blob/master/images/hellogcc-wuwei.jpeg

OSDT Weekly 2020-05-13 第045期

近期线下活动

HelloGCC&HelloLLVM 社区开始恢复聚会活动。本周末会进行QEMU讨论分享沙龙。具体的议程和讨论内容将在明后天推送,请感兴趣的小伙伴关注。第一次活动可能以线上形式进行。

后续我们将会在每周末举行一个技术主题的线上讨论。本周日(5月17日)为QEMU主题,下周日(5月24日)为V8主题,下下周(5月31日)为LLVM主题。

同时我们欢迎场地支持和赞助。欢迎有志同道合的小伙伴联系我们。

编译社区的八卦信息

GCC

  • GCC 10.1 Released。对比 GCC 9 的改进请移步,重点提到 C++20
    https://gcc.gnu.org/pipermail/gcc/2020-May/232334.html
  • H.J.Lu 共享的x86安全特性改进
    [PATCH 0/5] Add CET host support to libcc1
    https://gcc.gnu.org/pipermail/gcc-patches/2020-May/545459.html[PATCH 0/3] Add CET support to libphobos
    https://gcc.gnu.org/pipermail/gcc-patches/2020-May/545433.html
  • 大神 Ulrich Drepper 回归GNU社区了 ????
    std::atomic_flag::test
    https://gcc.gnu.org/pipermail/gcc-patches/2020-May/545402.html
  • 没注意到 Alexandre Oliva 已经从 redhat 换到 adacore 了,都是专注GCC的好公司
    avoid infinite loops in rpo fre
    https://gcc.gnu.org/pipermail/gcc-patches/2020-May/545340.html
  • Richard Sandifordf 发出大批 AArch64 及 GCC 中端优化patch
    [PATCH] tree: Add vector_element_bits(_tree) [PR94980 1/3]
    https://gcc.gnu.org/pipermail/gcc-patches/2020-May/author.html#545537
  • Jason Merrill 提交了大批 c++改进的 patch,应该是继续 c++20 的工作
    [pushed] c++: Avoid unnecessary deprecated warnings.
    https://gcc.gnu.org/pipermail/gcc-patches/2020-May/545547.html
  • IBM在PowerPC的GCC投入上似乎得到很大的加强,Bill提交了大量Power10后端代码,部分来自上海团队。
    [PATCH 0/4] rs6000: setbnc and friends [pu]
    https://gcc.gnu.org/pipermail/gcc-patches/2020-May/author.html#545269

Binutils/GDB

  • [PATCH v4] ld: Add –export-dynamic-symbol
    https://sourceware.org/pipermail/binutils/2020-May/110991.html
  • Alan提交大量PowerPC10后端改进patch
    Power10 byte reverse instructions
    https://sourceware.org/pipermail/binutils/2020-May/author.html#111027
  • GDB社区平静,修testsuite为主,没干货

GLIBC

有一个重要的干货 patch set,值得仔细读读

  • [PATCH v2 00/13] aarch64: branch protection support
    https://sourceware.org/pipermail/libc-alpha/2020-May/113850.html

LLVM/Clang/LLDB/LLD

本节内容来自 LLVM Weekly 第332期
Alex Bradbury 大哥持续稳定输出。

  • Nikita Popov 写了一篇博客介绍如何加速LLVM构建速度:
    https://nikic.github.io/2020/05/10/Make-LLVM-fast-again.html
    大概是10%的速度提升。
    (Hmm……)
  • Google Summer of Code 结果出了,快来看看入选LLVM项目的学生名单吧!
    https://summerofcode.withgoogle.com/organizations/4674300587540480/#projects
    恭喜所有中选的学生!
    同时这次没有中的学生也不要灰心,欢迎来PLCT实验室实习,做LLVM!*
    而且是远程实习哦:
    PLCT实验室招聘实习生
  • Tanya Lattner 代表LLVM基金会宣布今年 LLVM 开发者大会会线上进行。
    http://lists.llvm.org/pipermail/llvm-dev/2020-May/141436.html
  • Kai Wang shared an RFC on RISC-V vector intrinsics.
    紧接着,PLCT实验室号召国内RISC-V厂商积极的参与标准的制定。目前国内的厂商参与标准的制定的动作很少,可以更多一点。
    RISC-V Vector Extension Intrinsic RFC 开始活跃更新,我们号召国内厂商抱团参与
  • ORC JIT Weekly #15 发布。
    http://lists.llvm.org/pipermail/llvm-dev/2020-May/141493.html
  • Complex numbers, complex addition, and complex subtraction were added to the
    standard MLIR dialect.
    031265a,
    5d5f61f.

RISC-V in China

赛舫科技从 SiFive China 改名为 StarFive,同时推出了「不要钱计划」,开始血洗国内IP市场。「一分钱计划」的发起方芯来科技积极迎战,宣布了「一分钱升级计划」。其他MCU企业目前都还没出来讲话。

别打了,再这么打下去,估计就要倒贴用户了????

TVM 社区

风平浪静。

Mozilla

风平浪静。

方舟开源编译器社区

上周日,PLCT实验室史宁宁主管(知乎ID:小乖他爹)按时更新了内容:

OpenArkCompiler Weekly – #10 May 10th 2020

社区动态:
1、方舟编译器社区发布会议通知,将于2020-05-12 09:00-11:00((UTC+08:00)Beijing)召开会议,会议采用Zoom,会议ID:868 779 283。

Commits:
1、重构maple_me的BB接口:
https://gitee.com/harmonyos/OpenArkCompiler/commit/302da848a614692d88ad6940ff8201f3d878fed3
2、添加loop unrolling代码:
https://gitee.com/harmonyos/OpenArkCompiler/commit/ec7085b2d73461a848bebc2d1e99e69619fcf3b9

其它社区的 Weekly

欢迎感兴趣的小伙伴提 Pull Requests 完善内容❤️
我们希望能够尽可能多的扩展下OSDT的覆盖范围。

This Week in Rust #337:
https://this-week-in-rust.org/blog/2020/05/05/this-week-in-rust-337/

Golang Weekly #310:
https://golangweekly.com/issues/310

有一个 Rob Pike 的采访

WebAssembly Weekly #115:
https://wasmweekly.news/issue-115/

还是4月17日的。要变成 Monthly 了。

Academic

现在最大的愿望是不要再听到学术泰斗仙逝的消息了。

本周工具链岗位

远程实习机会: PLCT实验室招聘编译器/虚拟机/IDE开发实习生

本周推荐阅读

本周推荐:《一胜九败》

作者: 柳井正
译者: 徐静波

过去几年因为参与创业的关系,阅读了不少创业者写的自传或心得。《一胜九败》是优衣库的创始人柳井正先生写的回顾,介绍了从接手优衣库前身的家庭小店开始逐步发展壮大的过程,尤其是其中各种失败的尝试。

小编一号观察到的一个有意思的现象是美国、中国大陆、日本的创业者写的书,风格是完全不同的。美国的创业者的书会让我觉得是在准备一个20分钟的TED演讲:精心准备,有明确的脉络架构,即使是写书也要有转折和伏笔,也要有升华。日本的创业者自己写的书,则更像是两个人并排或者面对面坐在一张桌子上,读者作为入赘的女婿或家中长女要被托付上家族企业的未来,现任掌舵想到什么重要的事情就事无巨细的倾倒出来。而中国的创业者的书,绝大部分不是本人写的,是职业传记写手根据二手公众号鸡汤自己二次创作的。我走眼买过几次这样的图书,阅读发现不是创业者自己写的,非常不开心。

不管是否想要创业,柳井正先生的《一胜九败》都是值得阅读的。难能可贵的是柳井正先生将自己在做决策中的种种考虑,写了出来。这是非常珍贵的。管理学大师德鲁克先生说过,「管理者就是承担有风险的决策的」,可以说作出正确的决策并承担决策失败的风险,是管理者的基本角色定义。而决策失败了怎么办以及如何做决策,一手的资料非常少。毕竟市场环境瞬息万变,公司内政治错综复杂,即使是决策者本人可能也会依赖于当时的肠子感觉来一手神决策,有太多决策的利益权衡是只能做不能说。能够记录下载自己的决策并向读者分享出来自己的成功和失败,并尝试向读者解释决策的过程,对于小编一号而言是一本珍贵的参考资料。

最后,柳井正没有说出来的,非常非常重要的一点是,为什么失败了那么多次还可以爬起来:因为输得起。账面现金流一定是要充分的,主业现金牛是稳定的,失败的过程就是在不断寻找新的现金牛的过程。或许这对于创业者是更为要命的经验教训。