我见过的编译时间最长的Pascal程序……

今天写的SGU 221,其实也就是记忆化搜索+高精度,结果每次编译都要很长时间…… 原来以为是电脑慢的关系…… 但是等到重起之后,还是非常慢……
于是决定好好测试一下…… 结果还是很有意思的……
直接FPC sgu221.pas,显示12.2sec! 怪不得那么慢……
如果dcc32 sgu221.pas,显示3.84sec,多次平均,大约3.7sec左右…… dcc的确快啊! 但还是很慢……
于是,我对工作文件夹里面的近400个pas文件进行了dcc的编译测试,结果只有sgu167可以与其抗衡,dcc在3.0sec左右,fpc在11.7sec左右…… sgu221的编译时间少见得长啊……
这两个pas有个共同的特点:dcc显示的data大小都很大,sgu221有10MB,sgu167有16M(还打一些……),不知道有什么关系。两个文件在130-140行左右,也不长啊…… 似乎Pascal编译器对复杂的数据结构比较敏感(sgu167有一个4维数组,221也是)……