2019 年 11 月初,我们开启了「TiDB 挑战赛第一季之 性能挑战赛」,比赛为期三个月,期间选手将通过完成一系列难度不同的任务来获得相应的积分。赛程过去三分之一时,已经取得了十分耀眼的 阶段性成果。三个月过去,性能挑战赛已经圆满落幕,最终的积分排行也新鲜出炉,选手们的参赛成果让人非常惊喜。让我们回顾一下选手们是如何在“TiDB 性能提升”之路上,过五关斩六将的吧~
最终积分排名与奖项揭晓

一等奖:.* Team(15050 积分)。 二等奖:niedhui(4300 积分)和 catror(3500 积分)。 三等奖:pingyu(2600 积分)、Renkai(2550 积分)和 js00070(1800 积分)。 优秀奖:ekalinin(1450 积分)、mmyj(1050 积分)、AerysNan(750 积分)、MaiCw4J(650 积分)、Rustin-Liu(650 积分)和 koushiro(650 积分)。
tabokie:通过“ PCP-21: Titan GC doesn’t affect online write ”直接获得 27000 积分,一举登顶积分榜首。 july2993:通过完成多项 PCP 任务获得高达 3000 的积分,位于总积分榜第 5 名。
选手感想
TiDB Robot
嘻嘻,各位发表一下感想如何?
tabokie
作为内部人员参加这次大赛,最大的体验就是周末工作还是蛮累的;),但和日常工作不同的是,PCP 的难题更具探索性和未知性。作为参与者担当了一次业界前沿工业实践的先头兵,忘掉 OKR 轻装上马,重新找回了初恋代码的滋味。最后,尽管贵司从来不缺夸奖,我还是得夸一夸这赏心悦目的代码库,功能扩展不费吹灰之力,当然还要感谢 mentor 兼同事们对选题的前期探索,在宝贵周末共同探讨难题,我的工作只是从纸面迈出的一小步,优秀的团队给了我最大的鼓励。
.* team
我们参加了去年的 hackathon 比赛并斩获了二等奖。这次性能挑战赛在队长的带领下也取得了总积分榜第二的好成绩。导师很认真负责,交流起来完全没有架子。前期的分数有时候有 bug 但反馈之后很快修复,希望下一届规则可以更完善一些,学到了很多东西(比如 Rust),下一届会继续参赛!
niedhui
参与性能挑战赛收获很大,有厉害的导师针对选定问题进行指导,把以前很多零碎的知识汇成了完成的知识体系,最终能看到自己的代码对 TiDB TiKV 的性能提升是一件非常有成就感的事。
TiDB Robot
插一句,niedhui 已经是 TiKV Committer 了!
Catror
TiDB 的知乎和公众号我一直在关注,看到这个活动觉得还挺有意思的,做开源贡献的同时竟然还有奖品。另外因为去年下半年学习了 Go 语言就借此机会多练习一下。比赛体验很好,稍微难一点的题目都有导师指导,而且 code review 也做的很细心,这对刚开始接触 TiDB 代码的人十分友好。要说获得了什么,那就是还在你们手里没有给我寄的奖品哈哈。
TiDB Robot
等本 Bot 回到公司,就会第一时间寄出各位的奖品~再次感谢大家的参与,希望下一赛季还能看到你们过关斩将的身影!

请输入文字


优秀成果展示
相关 PR 链接 作者:tabokie
题目简介
实现方法
效果展示

相关 PR 链接 作者:js00070(张之逸)
题目简介
select id, age from students where age in (18, 19, 20)
实现方法
效果展示

相关 PR 链接 作者:pingyu
题目简介
实现方法
效果展示

相关 PR 链接 作者:Reminiscent(鄢程鹏)
题目简介
实现方法
使用表达式最新的列式计算接口,一次性求解一列的值,降低 Cache Miss。 分组时也借用向量化的思想,按列进行比较,进一步降低 Cache Miss。
效果展示

相关 PR 链接 作者:ekalinin
题目简介
实现方法
从 []byte 到 string 的转化做到 zero-copy 。 优化 Hex Encoding 和大小写转换中的内存消耗,减少内存的申请。 使用 Streaming 的方式序列化输出。
效果展示

总结与展望







