龙蜥理事单位成员入选C++ 标准委员会,完成了协程在大型 C++ 项目中的规模化应用

互联网
2021
11/29
11:17
分享
评论

  近日,龙蜥社区(公众号:OpenAnolis)的贡献者之一、来自理事单位阿里云的许传奇加入了 C++ 标准委员会。这是首个国内企业代表进入 C++ 标准委员会。

  C++20 是 C++ 的一个重大更新,例如 Coroutine、Module、Concept 以及 Range 等。其中 Coroutine 可以让程序员以同步方式编写高并发的异步代码,会带来性能与开发效率的双重提升。他们实现了一个高性能的轻量级协程库,允许 C++ 开发者以同步方式写异步代码。也正因为这个特点,同步代码可以很方便地切换到协程代码,同时完成异步化,这往往能获得一个数量级的性能提升。而协程也可以使代码更简洁易懂、方便维护。

  但 Coroutine 在正式进入 C++20 时,其支持并不完善。一方面是编译器支持层面有许多问题,如优化不完善、bug 比较多等;另一方面是在标准制定层面,Coroutine 只制定了基础语法,并没有完成协程库的制定。由于 C++20 协程的语法对 C++ 开发者而言难以理解,不容易直接使用,因此一个包装好的协程库是必须的。如果没有一个稳定的编译器支持,那使用协程必然是没有希望的;同时如果没有一个好用易懂的协程库,那大规模地使用协程也必然没有希望。

  据许传奇透露,新语言标准在大规模 C++ 项目中的规模化落地并不容易,因为是最新标准,在落地过程中遇到的许多问题在公开的互联网中并不存在,更不用提解决方案了,所以大部分时间都花在理解与解决这些问题上。在积累新标准在大规模 C++ 项目中的实践经验的同时,一方面对当前标准的设计有了更深的理解,另一方面也看到了可以改进标准的机会。经过持续努力,完成了协程在大型 C++ 项目中的规模化应用。在这个过程中,他们不断地尝试将经验、 问题与解决方案反馈到 Clang/LLVM 与 C++ 社区,也得到了社区的高度认可。

  龙蜥社区(龙蜥微信号:openanolis_assis)一直秉持着开放、中立的原则,一方面欢迎更多的企业和企业优秀成员加入社区,另一方面社区企业和成员们也在积极为国际社区做贡献。龙蜥社区(钉钉号:33311793)的理事单位会一直持续地将基础软件领域的工作贡献到 Linux Kernel、OpenJDK、Clang/LLVM、GCC 等社区,另外其他的工作也会逐步开源。

  进入 ISO C++ 标准委员会,这代表着龙蜥社区理事单位之前在 C++ 语言方面的工作走在正确的道路上,也代表着其正式踏进了语言演化生态的上游,进入了设计阶段。

  许传奇表示,希望通过参与程序语言标准的制订,进入到程序语言演化周期的上游,以把握住程序语言技术演进的主航道,打造出领先的程序语言基础设施。未来,这一成果也将支持和反馈到龙蜥社区中。

  再次恭喜龙蜥社区成员许传奇同学入选,也欢迎更多优秀的人加入龙蜥社区。

THE END
广告、内容合作请点击这里 寻求合作
免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代表砍柴网的观点和立场。

相关热点

相关推荐

1
3