坐在靠窗的工位上,林辰并没有急于开始编码。他先是花了一些时间,熟悉这台“新”电脑的环境。
操作系统是 Windows NT 4.0,开发环境主要是 Visual C++ 6.0 和刚兴起不久的 Delphi,角落里还躺着一个装着 RedHat Linux 5.1 光盘的盒子。
机器性能比宿舍那台老古董强不少,但和他前世用惯了的云开发环境相比,依然是天壤之别。
他熟练地打开资源管理器,检查磁盘空间,又调出任务管理器看了看内存占用——基地的机器果然也跑着不少后台服务,资源并不宽裕。
这种“抠抠搜搜”的环境,反而激起了他的斗志。在有限资源下做出极致性能,不正是这个时代程序员的浪漫吗?
“怎么样,还习惯吗?”周斌端着一个印着“清华大学”字样的搪瓷杯走了过来,杯口冒着热气,茶叶梗在里面沉沉浮浮。
“挺好的,比宿舍条件好多了。”林辰笑着回应,“谢谢学长。”
“别客气,以后就是自己人了。”周斌靠在隔断上,压低声音,“刚才吴峰就那脾气,技术宅的通病,眼里只有代码和逻辑,人情世故差点意思。不过人不错,遇到真解决不了的技术难题,找他准没错。”
“明白,我觉得这样挺好,直接,高效。”林辰表示理解。
“嗯,你能这么想最好。”周斌点点头,喝了口茶,“对了,既然你们团队都加入基地了,BBS的服务器是不是可以考虑迁过来?这边网络更稳定,运维也方便。信息中心那边总抱怨你们占用了太多出口带宽。”
这正是林辰所期待的。他立刻点头:“没问题,我们尽快安排迁移。不过学长,迁移过程中可能需要短暂停机,还得麻烦基地这边提供技术支持。”
“小事儿,我跟运维组的同学打个招呼,你们配合着来。”周斌大手一挥,很是爽快,“还有,你们那个‘开放QQ’的项目,有什么需要也可以提。基地虽然资源紧张,但对有潜力的项目,还是会倾斜支持的。”
“太感谢学长了!”林辰心中一定,有了基地官方层面的支持,很多事就好办多了,“我们目前最需要的是一个更稳定的开发测试环境,以及……如果可能的话,希望能申请到一些独立的带宽资源,用于后续的通信协议测试。”
“开发环境好说,那边还有几台空闲的机器,我给你们划两台。”周斌指着机房角落,“带宽嘛……我得跟王老师申请一下,问题应该不大。不过林辰,”他话锋一转,语气带着提醒,“基地有基地的规矩,资源不是白给的。
每个季度会有项目评审,进展不佳或者方向不受认可的项目,资源可能会被收回。而且,基地鼓励技术共享和协作,你们的核心代码,虽然不要求完全开源,但在关键技术上,最好能对基地成员有所启发。”
这就是代价了。林辰心知肚明。他需要贡献自己的技术影响力,来换取实实在在的资源。
“我明白,学长。”林辰郑重承诺,“我们会定期分享技术心得,也会积极参与基地的其他项目。”
“好!就喜欢你这种明白人!”周斌满意地拍了拍林辰的肩膀,“那你先忙着,有什么需要随时找我。”
送走周斌,林辰深吸一口气,开始动手配置开发环境。他决定将“开放QQ”的核心服务端代码迁移到 Linux 环境下,这对于未来的高并发处理和跨平台部署更有优势。而在 Windows 下,则主要进行客户端界面和部分辅助工具的开发。
正当他埋头折腾 gcc 编译参数时,一个身影悄无声息地出现在他旁边。
是吴峰。
他手里拿着一张打印出来的纸,上面似乎是某种协议分析的日志。
“林辰,”吴峰的语气依然没什么起伏,但少了之前的挑衅,“你刚才提到的‘事件驱动异步IO’,在 Linux 下,除了 select,是不是用 poll 或者 epoll 更好?我看过一些文章,说 select 有文件描述符数量的限制。”
林辰停下手中的动作,有些意外,但很快反应过来。技术人之间的交流,往往就是这么直接。你展示了实力,就赢得了对话的资格。
“峰哥说得对。”林辰从善如流地用了尊称,“select 确实有 FD_SETSIZE 的限制,默认一般是1024。poll 在这方面有所改进,但性能上,在文件描述符非常多的时候,两者都需要遍历整个集合,效率是 O(n) 的。epoll 是 Linux 2.6 内核才引入的,采用基于事件的就绪通知方式,效率是 O(1),是目前最好的选择。”
他顿了顿,补充道:“不过我们现在的业务规模,select 或 poll 暂时够用。直接上 epoll 的话,代码可移植性会差一些,毕竟不是所有 Unix-like 系统都支持。”
本小章还未完,请点击下一页继续阅读后面精彩内容!