极速聊科技|已蝉联两次软件十大高手,华为后浪:这个95后是5G元老( 二 )
经历了这次练兵 , 我对自己的能力更有信心 , 部门也逐渐将更多的重担交给我 。 我有机会主导了几个性能和内存的优化 。 之后我还参与了5G首个可信版本 , 交付HCSEC……两年的时间 , 我伴随着部门一起成长 , 逐渐从“萌新”成长为独当一面的“5G元老” 。
文章图片
3
我的小目标:代码写到80岁
刚转正不久 , 我接到一个比较有挑战性的任务 , 从零搭建一个新模块 。
这个模块是用来做自组织网络的 , 能够帮助客户自动添加邻区 , 不用手动配置 。 这个任务要求我既要尽快交付新模块 , 又要吸取老模块的教训 , 改善之前遇到的问题 。
我总结了老模块的历史遗留问题 , 比如简单而重复的数据注册功能 , 居然用了6000行左右的代码 , 我利用C++的模板大幅优化重复代码 , 在新模块中仅用2000行左右的代码就移植了原有的功能 。
再比如 , 基于整个模块的功能 , 我发现反写数据库应该是一个常态的功能 , 以后会有大量的功能往里面塞 , 也会产生大量的重复劳作和重复代码 , 很容易出问题 。 我利用优先队列设计了反写数据库框架 , 便于后续扩展 。
我在两周内交付了8000多行的代码 , 测试部署一次性通过 , 模块也稳定运行 。 我因此在2018年第一次获得“5GPDU十大软件高手” 。
2019年 , 在外部与内部的压力之下 , 我也收到了很大的挑战 , 在同等硬件资源下 , 能不能用更牛的软件技术 , 实现产品性能和规格达到更高水平?总结老代码后 , 我找出了一些优化点 , 比如数据查询框架比较繁琐 , 只支持单点查找 。 重新设计数据结构和查询方法 , 采用AVL树优化 , 效果显著 , 将内存优化了2/3 , 查找性能提升50多倍;我发现第一版代码用了非常多的锁来解决多线程问题 , 让性能大打折扣 。
为了追求更佳效果 , 我拉通了几个模块 , 从架构角度出发重新设计业务交互并用无锁队列等优化性能 , 交互性能提升80% , 更便于之后的扩展 。 因此 , 我也在2019年第二次获得“5GPDU十大软件高手” 。
文章图片
2019年对我来说 , 还有个关键词——“可信” 。 这一年 , 是公司的可信变革之年 , 而我有幸从一开始就深入参与其中 。
5G产品作为可信的先锋队 , 经常会有内外部的领导、专家来看我们的运作情况 。 为了将我们所做的展示给业界看 , 2019年9月我们搭建了可信过程演示 , 向大家展示在可信变革的前后 , 我们的开发作业流、设计作业流、测试作业流都发生了什么变化 。
我们通常从一个真实的业务小例子入手 , 来展示我们在这个场景下是怎么干的——在开发时 , 我们怎么保证代码的可信?我们的上库机制、静态检查机制 , 如何保证可信?我们在出包时 , 是怎么保证它的二进制比对的?Committer机制 , 端到端可追溯是如何保护我们的代码的?通过整个流程直白地展示一行代码的前世今生 。
目前 , UML的创始人IvarJacobson教授、CSEC的Brian教授等人 , 都看过我们的可信演示 , 也跟我们交流了从设计到编码到版本集成出包等方面他们的看法和建议 。 此类的交流 , 让我们受益不少 。 特别是Jacobson教授 , 80岁还这么有激情和学习的动力 , 我希望自己也能像他一样保持旺盛的求知欲和热情 , 不断学习 , 编码到80岁 , 写出更多的好代码 。
在看点这里
- 小红猪带你看科技|七夕节送女朋友必备左点小艾智能艾灸器X8,3天众筹500万
- 浪浪科技精选|超频三GI-CX240 ARGB水冷,极致性能冷酷到底
- ITheat热点科技|可搭载高规格显卡,AMD将发布新移动端处理器:开放完整PCIe通道
- 爱因儿科技|入侵盖茨、马斯克、巴菲特等名人推特账号的黑客被抓了!最小的17岁
- 小米科技|小米正式官宣以旧换新,支持小米10系列等5款机型,你等到了吗?
- 小米科技|数亿米粉始料未及!小米2日正式宣布,网友:太良心了!
- 科技数码迷|刘作虎终于拿起了屠刀,一加氢OS彻底与过去说再见
- 一点科技范|你更pick谁?,下半年最受期待的三大系列手机
- 科技章鱼烧|更换硬盘只需动动小手,装载系统和软件交给DiscWizard
- 科技小蠕虫|又一国家绕开华为,3大运营商核心网络不用华为,美国“围剿”下