pFind新版开发启动

  三月份大部分时间在写材料和开会。甚至出现了一个meeting week,周一到周五全都用来赶场参加各种会,最夸张的一天开了三个会,一直弄到将近23:00才散,差点没赶上5号轻轨末班。

  上周终于着手2.1新版设计。鉴于大伙儿元气大伤,取消了setup会议,单独找每个人面对面交流再汇总Todo List。

  周三下午,把电脑和投影仪搬到会议室里,直接对着代码展开第一个模块的设计。双人编程,正确说,应该是四人编程,推敲所有细节,甚至明 确参数命名。一开始当然有点痛苦,各人都没有特别细致的思路,更别提大家的一致。不过几个回合重构下来,最终一版的空模块(只定义了接口和架构)编译通 过,每个人都很开心,团队的信心和士气提高了不少。这不仅因为完成了第一个里程碑,还因为统一明确了设计原则和质量底线,后续设计工作照方抓药就可以了。 磨刀不误砍柴工,设计阶段精耕细作从来都不会白费。

  上周的另一件事是继续调试2.0老版本。多谢chh支援,困扰两个多月的BUG总算有些眉目:第一组实验中,碰到一个变态的蛋白,修饰 位点组合爆炸,出现九千多万种可能性,把递归程序撑爆了;第二组实验中,为压力测试调大了参数,有个地方的vector容器装不下。把两个地方剪枝条件加 强就解决了。折腾这么久,真算职业生涯的奇耻大辱。搞到最后老板都不好意思问了;反而是老妈每晚的餐桌上都关心进展;去参加文献club,生物学家也问 “你的BUG怎么样了”。

  另一方面,由此看来,老版pFind的潜力也就仅限于此了,稍微上点数据量就开始这里那里到处漏水。这也正是彻底重新设计架构,开发2.1版的主要原因。

  我预计新版的C++代码可以从18万行降到10万行左右,速度提高一倍以上,而海量数据的处理上限,可以有不止一个数量级的提升。当然新版的一个重要变化是实现跨平台,为将接下来的分布式集群版打基础。

One thought on “pFind新版开发启动

  1. Pingback: joyfire 王乐珩 » 重构和元宵节孔明灯

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.