Приводит ли компиляция с -g к более медленному коду? - PullRequest
3 голосов
/ 14 апреля 2011

Я использую пакет, скомпилированный с использованием gcc -O3 -g.

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

Ответы [ 3 ]

2 голосов
/ 14 апреля 2011

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

2 голосов
/ 14 апреля 2011

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

0 голосов
/ 14 апреля 2011

Если ваш реальный вопрос «Почему это медленно?» есть простой способ узнать.

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