C ++ Visual Studio Inline - PullRequest
       2

C ++ Visual Studio Inline

3 голосов
/ 12 сентября 2010

При построении проектов в Visual Studio (я использую 2008 SP1) есть опция оптимизации называется Enable link-time code generation. Насколько я понимаю, это позволяет использовать определенные приемы встраивания, и это звучит довольно круто.

Тем не менее, использование этой опции значительно увеличивает размер встроенных статических библиотек. В моем случае это было что-то вроде 40 mb -> 250 mb, и, очевидно, процесс сборки может стать ДЕЙСТВИТЕЛЬНО медленным, если у вас есть даже 5-6 таких огромных библиотек.

Так что мой вопрос - стоит ли это? . Измерим ли эффект генерации кода во время соединения, чтобы я оставил его включенным и пострадал от сборок slooooooooooooow?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 12 сентября 2010

Это зависит от вас.Это скорее субъективный вопрос.Вот несколько вещей, которые помогут вам сделать это определение:

  1. Оцените производительность с и без этой функции.Иногда меньший код работает быстрее, иногда больше встроенного кода.Это не всегда так ясно и сухо.
  2. Критически важна производительность?Будет ли ваш клиент отклонять ваше приложение с его текущей скоростью, если вы не найдете способ улучшить ситуацию в этом направлении?
  3. Насколько медленным является приемлемый процесс сборки?Вы должны оставить это включенным, пока вы сами создаете его, или вы можете отправить его на тестовую среду / машину непрерывной сборки?

Лично я бы пошел на все, что помогло мне быстрее развиватьсяа потом беспокоиться об оптимизации позже.Сначала убедитесь, что он делает то, что ему нужно.

2 голосов
/ 12 сентября 2010

Как мы должны знать? Вы страдаете от медленного времени соединения. Если вы можете жить с более медленными сборками, это ускоряет ваш код, и это хорошо.

Если вам нужны более быстрые сборки, вы теряете оптимизацию, что замедляет выполнение кода.

Стоит ли это того? Это зависит от вас и ничего больше. Насколько вы терпеливы? Как долго вы можете ждать сборки?

Это может значительно ускорить ваш код. Если вам нужна скорость, это очень ценная оптимизация.

...