西西河

主题:我经历的三次工业革命 -- 冷口关

共:💬44 🌺700
全看分页树展 · 主题 跟帖
家园 同感

俺以前在公司维护一个恐龙级算法模块,计算内核是用Fortran在二十多年前写的,宛如王婆婆的裹脚布——又臭又长。一个函数,常常能有几十个参数,几百行的长度,还时不时来个“goto”。让早已习惯使用C++的我,是苦不堪言。有时候,真恨不得推翻所有代码,重新写一个。

其实,原始代码的编写者,我也认识,这是一位老研究人员,专业水平,那是没得说,但编程水平,惨不忍睹,贻害无穷。

无奈,这是工作,不得不认真阅读代码,颇是耗费了不少脑细胞。光简单的动态分配和释放内存,源代码中基本没有,对于小程序而言,无所谓,可对于俺们这种动则几十、上百T的计算量,会导致许多严重问题。另外,还得加入并行计算的代码,充分利用硬件的多CPU特性,以及充沛的计算机集群资源,而这在二、三十年前,是普通编程者不可想象的。

在完成基本改造之后,该模块的计算速度呈几何级数提高,而我也记录了一厚本笔记。不过,由于是在原代码上改动,在该模块上,即使是添加一个新参数,也至少需要改动二十多处。

离开公司的时候,我想,如果再有人去动这个程序,他/她可能否胜任?

通宝推:empire2007,北纬42度,秦波仁者,
全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河