Я компилирую программу с -O3 для производительности и -g для отладочных символов (в случае сбоя я могу использовать дамп ядра). Меня что-то беспокоит, делает ли параметр -g штрафом за производительность? Когда я смотрю на результат компиляции с и без -g, я вижу, что выход без -g на 80% меньше результата компиляции с -g. Если дополнительное пространство для символов отладки, я не забочусь об этом (я думаю), так как эта часть не используется во время выполнения. Но если для каждой команды в выводе компиляции без -g мне нужно сделать еще 4 команды в выводе компиляции с -g, чем я, конечно, предпочитаю прекратить использование опции -g даже за счет того, что вы не можете обрабатывать дампы ядра.
Как узнать размер раздела символов отладки внутри программы и вообще компиляция с -g создает программу, которая работает медленнее, чем тот же код, скомпилированный без -g?