Каковы недостатки / недостатки НЕ использования "Оптимизация всей программы" / GL и "Генерация временного кода связи" / LTCG - PullRequest
0 голосов
/ 07 апреля 2019

В моем проекте, который является основой, где производительность имеет значение, я использую несколько статических библиотек.При создании этих статических библиотек у меня есть два варианта их конфигурации:

  1. Включение «Оптимизация всей программы» /GL и «Генерация временного кода ссылки» /LTCG и ограничение сборки выпуска моей платформыдля использования (из коробки) с одной конкретной версией набора инструментов платформы (скажем, «Visual Studio 2017 (v141)»).Попытка построить каркас в Visual Studio 2019 (v142) с использованием предварительно собранных библиотек v141 приводит к сообщению об ошибке, например "[...] был создан с более старым компилятором, чем другие объекты; перестроить старые объекты и библиотеки" для сборки выпуска.Единственный вариант здесь - это перестроить библиотеки с v142, но тогда они больше не могут быть использованы с v141.
  2. Отключение /GL и /LTCG для библиотек, что приводит к тому, что они могутиспользоваться со многими различными наборами инструментов платформы, т.е. v141, v142 и др.

Мой вопрос: есть ли у второго варианта какие-либо недостатки или скрытые подводные камни, или это правильный путь?Что делать, если во время выполнения происходит огромное количество обращений в библиотеки?Могут ли быть проблемы с производительностью?

...