那部动画的编码格式极其刁钻,他试了市面上能找到的所有压缩算法,要么速度太慢,要么画质损失太大。
最后他做了一个非常规的操作——他没有试图去改进任何一种现有的压缩算法,而是写了一个极简的预处理脚本,在压缩之前先把视频里颜色变化幅度小于阈值的连续帧直接合并成静态背景。
那个脚本只花了他一个通宵,但压缩效率提高了将近一半。
何博士的双手忽然开始发抖,他打开了代码编辑器,新建了一个空白文件,手指悬在键盘上方停了大概三秒钟,然后开始敲代码。
他敲得很快,几乎不像是一个已经四十多岁、常年做技术管理而疏于一线编程的人。
屏幕上的代码一行接一行地往下铺,他没有打草稿,没有画流程图,甚至连注释都是写完一段功能之后顺手补上的。函数命名清晰,变量作用域控制得极严,每一个模块的接口设计都干净得像被刀切过的豆腐。在旁边工位上打盹的小张被键盘声吵醒,迷迷糊糊地探头看了一眼,然后瞬间清醒了。
“何博,你这是什么语言?”
“Rust。”
小张眨了眨眼睛,确认自己没有听错。Rust——一门以学习曲线陡峭著称的系统级编程语言,所有权的概念足以让经验丰富的C++程序员怀疑人生。
何博士当然是一个经验丰富的程序员,但他的主要技术栈是Python和C++,团队里没有人知道他什么时候学会了Rust,更没有人知道他在凌晨三点独自一人用Rust写一个新的预过滤模块。
何博士没有解释。他只是在接下来的三个小时里,写完了一个极其精简的非结构化数据预处理引擎。这个引擎的核心思路和他二十年前那个视频压缩脚本一脉相承——不去试图理解数据的全部语义,而是先用极小的计算代价,把数据里明显不相关的部分剔除掉,让后面的主匹配引擎只处理真正有价值的信息。
他用Rust实现这个模块,是因为Rust的零成本抽象和无垃圾回收机制可以把这个预处理环节的性能损耗压缩到几乎可以忽略的程度。
凌晨六点,他把新的预过滤模块挂进了测试系统,跑了一轮完整的压测。
结果在屏幕上跳出来的那一刻,何博士摘下了眼镜,用衬衫下摆擦了