🚀开启你的tinyCoroLab之旅!


👏欢迎加入tinyCoroLab

⚠️点击左上角选择框切换文档版本 ⭐项目制作不易,请为tinyCoroLab点个star支持一下吧❤️

🔥tinyCoroLab的更新会持续进行,并致力于打造对标工业标准的代码质量和性能,欢迎您与我共同建设tinyCoroLab💪

tinyCoro介绍

tinyCoroLab是一门以tinyCoro为基础的实验课程,而tinyCoro是一个linux系统环境下的以C++20协程技术和linux io_uring技术相结合的高性能异步协程库。高效且全能的io_uring和C++20无栈协程的轻量级切换相组合使得tinyCoro可以轻松应对I/O密集型负载,而C++20协程的特性使得用户可以以同步的方式编写异步执行的代码,大大降低了后期维护的工作量,且代码逻辑非常简单且清晰,除此外tinyCoro还提供了协程安全组件,以协程suspend代替线程阻塞便于用户构建协程安全且高效的代码。

经过测试由tinyCoro实现的echo server在1kbyte负载和100个并发连接下可达到100wQPS,关于tinyCoro更详细的信息请访问github主页。

tinyCoroLab介绍

tinyCoroLab的设计灵感来自于广为人知的CMU15445数据库内核实验和MIT6.824分布式实验,它们通过让学生编写指定接口的实现并通过大量的测试验证正确性来使得学生提高代码能力的同时学习到特定的领域知识,高难度的实验带来的是巨大的代码级和知识级的能力提升,这也使得这两门实验课程广受学生好评。而tinyCoroLab沿袭这种设计思路,通过将tinyCoro的实现拆分成多个子部分来构成5节实验课程,包括:

  • lab1: 构建协程任务封装,包括lab1一个子实验

  • lab2: 构建任务执行引擎,包括lab2a和lab2b两个子实验

  • lab3: 封装异步I/O执行模块,包括lab3一个子实验

  • lab4: 构建基础协程同步组件,包括lab4a,lab4b,lab4c,lab4d四个子实验

  • lab5: 构建进阶协程同步组件,包括lab5a,lab5b,lab5c三个子实验

在上述实验的基础上tinyCoroLab提供了200+项功能测试和内存安全测试来考察用户实现的功能逻辑正确性和内存安全性,并且lab4和lab5额外新增了性能测试通过googlebenchmark将基线模型与用户实现做对比来衡量用户实现的性能。除此之外tinyCoroLab在cmake中定义了大量的指令来简化实验流程并提供一键生成perf性能分析火焰图的脚本,使得实验者可以专心于实现实验内容。

tinyCoroLab并不像CMU15445和mit6.824课程那样涉及特定领域复杂的知识,因此难度稍弱,但其本身涉及到多线程下的高并发因此仍旧对实验者的代码能力仍有较强考验。tinyCoroLab核心功能代码共计约2000行,测试加样例共计约4000行,而作为tinyCoroLab的开源实现版本tinyCoro在实验的基础上添加了约700行功能代码,因此实验者代码量预计在700行以下,耗时预计一个星期左右(统计结果基于最初版本,目前经过多次更新代码总量和实验内容已更加丰富)。

通过完成该实验,你将收获:

  • 简历新增一个新颖、有技术含量且被深度量化过的项目。

  • 更加熟练的C++编程技巧,以及对C++新标准的应用。

  • 对强大的io_uring异步I/O技术的掌握。

  • 对多线程编程有更深入的理解。

本实验学习了github开源且高star的C++项目的项目组织方式,如果你愿意研究该部分内容,你还将收获:

  • 一个标准的通过cmake构建C++项目的方式。

  • 在项目中熟练运用单元测试、性能测试以及性能分析工具。

扫描下方二维码加入tinyCoroLab免费课程交流qq群,任何问题都可向作者本人直接提问哦!

当然,你也可以通过我的邮箱393814041@qq.com直接与我联系!

快来开启属于你的tinyCoroLab之旅吧!

关于付费

在这里和各位同学说声抱歉,因为制作tinyCoroLab全套课程花费了我大量的精力,所以针对小部分可替代性的文档采取了收费,但收费绝不是为了赚钱,仅仅是作为一点小回报吧。

付费文档包含以下部分:

  • 对于开启tinyCoroLab的前置知识C++协程和liburing的讲解,因为知识点很庞大,所以我按照自己的理解精心制作了多篇文档来帮助大家理解

  • 对于tinyCoroLab的每一项实验我都会根据tinyCoro的代码为大家讲解如何实现,并突出强调重点知识点

  • 由我个人根据30+大厂面试经验(95%通过率)整理的完整的tinyCoro实战面试经历

  • 在番外杂谈部分我会持续分享一些我在工作中遇到一些有趣的知识点

总之,对于希望获得细致教学服务或者有面试需求的同学强烈建议解锁付费文档!

💡付费用户有专属群聊哦!

通过以下途径解锁付费服务:

蓝桥云课平台在线课程(推荐)

购买蓝桥云课可享有官方专属群聊

你可点击链接加入蓝桥云课在线课程C++高性能异步协程实战来解锁tinyCoroLab完整版文档(限时优惠)。

知识星球

⚠️IOS用户请使用微信小程序加入知识星球,否则在APP端苹果公司会抽取高昂的手续费

或者通过下图方式加入知识星球:

tinyCoroLab收费文档价格为50,为了推广该课程特此推出优惠返现活动,因此用户在加入后请私聊星主返现10元(返现活动会在蓝桥云课程上线后结束)。

⚠️蓝桥云课课程已上线,知识星球返现活动结束。

Last updated