Есть какие-нибудь советы по ускорению работы инструмента статического анализа PC-Lint? Есть ли опыт использования файлов .LOB?

Мне интересно узнать основные факторы, влияющие на время линтинга ПК. Я знаю несколько таких, как -passes(#), которые увеличивают время работы PC-Lint (увеличиваются линейно?) Или что уменьшение количества выводимых сообщений не влияет на время линтинга. Я надеюсь проверить свое понимание производительности линта, попросив кого-нибудь из вас, кто более опытен с линтом, перечислить основные факторы, с которыми они столкнулись, которые влияют на время линтинга.

Кроме того, есть ли у кого-нибудь из вас опыт использования файлов .lob с PC-Lint. Насколько, по вашему мнению, это повлияло на время линтинга?


person alphaOri    schedule 26.11.2012    source источник


Ответы (1)


Основное ускорение, которое я получил, было, когда я начал перенаправлять иногда массивный вывод Lint в файл вместо обычного окна DOS в Windows, а затем просматривать файл в редакторе. Параметр -passes почти линейно увеличивает время, если количество проходов становится достаточно большим, но не совсем при использовании 2 или 3, поскольку этап предварительной обработки / синтаксического анализа не требуется, за исключением первого прохода. По моему опыту, для действительно больших проектов внешние средства включения или (Microsoft) опция +pragma(once,once) - если #pragma once используется постоянно - может привести к огромному увеличению скорости. В одном проекте я сократил время компиляции более чем в 20 раз, а время линтинга - чуть меньше ...

Использование файлов .lob похоже на компиляцию в объекты с последующим связыванием объектов: это зависит от того, насколько эффективен ваш make-файл, а увеличение скорости зависит от того, сколько и какие файлы вы только что изменили. Однако имейте в виду, что использование файлов .lob не так тщательно, как линкование всех файлов за один раз; некоторые проблемы следует игнорировать, поскольку файлы .lob содержат только представление исходных файлов.

person Johan Bezem    schedule 28.11.2012