Как я могу представить полную сборку C++?

Я разрабатываю приложение в C++ на Windows XP, с помощью Eclipse в качестве моего IDE и Основанной на make-файле системы сборки (с инструментами пользователя для генерации Make-файлов). Кроме того, я использую LZZ, который позволяет мне писать единственный файл, который затем разделяется на заголовок и файл реализации. Я использую порт TDM GCC 4.

Какие инструменты или методы я мог использовать для определения точно, сколько времени каждая часть процесса сборки берет, и почему это медленно?

Особенно интересный был бы:

  • Сколько время действительно делает потребностью выяснить для парсинга Make-файлов, выясняет зависимости, проверьте метки времени и т.д.?
  • В каком количестве времени Eclipse нуждается прежде и после сборки?
  • Сколько времени GCC проводит на парсинге системы и повышает заголовки?

P.S.: Это - мой домашний проект, таким образом, дорогие инструменты вне досягаемости для меня, но могли быть зарегистрированы здесь так или иначе, если они особенно релевантны.

6
задан Lorenzo Donati supports Monica 8 October 2013 в 18:29
поделиться

3 ответа

Так как Make и GCC очень многословны о том, что они делают, очень грубый способ получить высокоуровневый обзор потраченного времени - это передать вывод через скрипт, который делает временные метки на каждой строке:

make | perl -MTime::HiRes -pe "printf '%.5f ', Time::HiRes::time()"

(Я использую ActivePerl для этого, но из того, что я собрал, Клубничный Perl может теперь быть рекомендуемой Perl версией для Windows. )

Переформатируйте или обработайте временные метки по своему усмотрению.

Для получения более подробной информации о GCC, в частности, используйте опцию -time-report.

Чтобы узнать, сколько накладных расходов добавляет Затмение, используйте секундомер для построения времени из Затмения и из командной строки.

6
ответ дан 16 December 2019 в 21:39
поделиться

Попробуйте SparkBuild , бесплатный замена GMake / Nmake, который может генерировать аннотированный журнал сборки с точной информацией о времени для каждой работы в сборке. Вы можете загрузить этот файл в SparkBuild Insight, чтобы получить графический обзор того, где идет время.

См. в этом блоге Например, как его использовать.

1
ответ дан 16 December 2019 в 21:39
поделиться

Посмотрите на

http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.wst.doc.isv/html/plugin_descriptions_wst/ WST.HTML

для идей для редактора WST XML и потенциально других типов редакторов

-121--3622142-

Если вы используете повышение, скорее всего, большую часть времени проводится в экземпляре шаблона и последующей оптимизации. Вы можете сказать GCC сообщать о проведении времени, , -Time-Report (опция Unix, может быть что-то еще в Windows GCC)

, и если вы пытаетесь ускорить время компиляции, отключить оптимизацию, -O0 (последнее письмо ноль номер, первая буква является капиталом O)

1
ответ дан 16 December 2019 в 21:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: