Собирается ли компиляция общих библиотек для повышения производительности? - PullRequest
0 голосов
/ 04 мая 2018

В качестве хобби-проекта я пытаюсь скомпилировать игру с открытым исходным кодом Simutrans с помощью Visual Studio Express 2015 (как предвестник внесения небольших изменений в игровой процесс). Требуется несколько общих библиотек (bzip, pthreads, SDL и, возможно, Allegro). И инструкции по компиляции Simutrans , и часть документации SDL, похоже, предполагают, что люди должны или будут создавать эти библиотеки самостоятельно. Из поиска в Stack Overflow и на других форумах я узнал, что это иногда необходимо, если вы переносите что-то на экзотическую платформу (BeOs на PowerPC ?!), чтобы улучшить свои знания в области программирования или потому, что вам нужна конкретная компиляция варианты . Ничто из этого не относится ко мне: я использую стандартную систему Wintel болота и не хочу изучать SDL; Просто изучение C ++ и Simutrans займет годы. Будет ли компиляция библиотек из исходного кода на моем собственном компьютере [править: заметно] каким-либо образом улучшать производительность или иметь какие-либо другие преимущества, относящиеся к моей ситуации?

Это мой первый проект программирования почти за три десятилетия, поэтому, пожалуйста, предположите, что вы разговариваете с начинающим с минимальными знаниями.

1 Ответ

0 голосов
/ 04 мая 2018

Когда библиотеки создаются для использования среди большой популяции, они должны быть построены с наименьшим общим знаменателем.

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

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

Что-то, скомпилированное с gcc -march=core-i7, может активировать опции, которые не позволят программному обеспечению работать на ядре i3, AMD FX и т. Д.

Существуют также компромиссы оптимизации, которые вы можете сделать с точки зрения размера исполняемого файла, скорости выполнения, типа доступа к памяти и т. Д.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...