我有一些旧的C档,是1999年为老年人写的。由于新的编程技术,代码中有一些无用的部分。但是我遇到了问题。
我必须使用带有O3优化的英特尔C ++编译器版本10。除了编译行中的选项和标志外,编译器配置不可自定义。
原始文件和新文件之间的时间差异可能微不足道,但是当推断为5000个文件时,它会相加。
我不认为这是编译器的错误。
我必须优化许多C文件的编译时间。这些文件包含许多无用的旧代码(#if 0
,预处理器代码...)。为了删除所有这些东西,我创建了一个Python脚本来检查所有文件并删除所有不需要的代码。
补丁非常有效。它删除了我想要的所有代码。但编译时间增加了。我不明白为什么。
我的补丁只删除了预处理器删除的部分代码,如#if 0
和合并循环。 15个循环有一条线,相同的最大值比1个循环最差,内部有15条线。我对大文件(70000行)进行了大量测试,节省了60%的原始编译时间。我不会增加复杂性或其他操作。这是代码清除。