![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
Abyx |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: нет Всего: 10 |
он есть. таскайте динамический рантайм вместе с программой - тот код рантайма который программа не использует - будет мертвым по определению. кроме того, динамический рантайм может не давать оптимизатору его инлайнить.
вы похоже не понимаете как делается оптимизация за счет увеличения размера. |
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 1 Всего: 39 |
>он есть. таскайте динамический рантайм вместе с программой - тот код рантайма который программа не использует - будет мертвым по определению.
Ясно, опять ни о чем. Открою вам маленький секрет: такскать с собой динамические библиотеки - некомильфо, dll hell во все поля. >вы похоже не понимаете как делается оптимизация за счет увеличения размера. Ох ты ж, держитеменясемерошестеронеудержат. Я умиляюсь вашему прфессионализму, которого пока хватает лишь на то, чтобы рассказывать, чего я не понимаю. Навскидку, вот что я вижу в размерах stl: - общий код, вкомпилированный в либу, а не вынесеный наружу через хедеры - вкомпилированные специализации темплейтов под некоторые типы - использование внутренних статических хешей для каких-то структур данных Выкидываем пункты 2 и 3, получаем маленькую, но донельзя тупую stl. Выкидываем кучу кода наружу (пункт 1), получаем жирный софт, в который дорая часть stl-я и вкомпилируется. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
Abyx |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: нет Всего: 10 |
што? каких хешей? каких данных? мы о статической линковке говорим или нет?!!!! что значит "вкомпилированные в либу"? какая еще либа в бинарнике при статической линковке либы с исходниками? весь бинарник должен быть оптимизирован целиком, все что не используется - выкидывается, все что используется 1-2 раза - должно быть заинлайнено и оптимизировано с остальным кодом для кода в 1м посте в бинарнике вообще практически ничего не должно остаться от STL Добавлено через 13 минут и 9 секунд что вообще означает "Выкидываем кучу кода наружу" ? куда наружу? у компилятора есть сорцы STL, не только заголовочных файлов, но и .cpp во время кодогенерации он должен использовать сорцы stl чтобы инлайнить их в пользовательский код. отдельно что-то компилится только в случае множественного использования большого куска кода, или когда компилятор не может определить цепочку вызовов, например изза вызовов виртуальных методов через указатель на базовый класс. в результате инлайна могут получаться функции размером в десятки килобайт %) Это сообщение отредактировал(а) Abyx - 14.7.2010, 15:33 |
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 1 Всего: 39 |
>што? каких хешей? каких данных?
Ну да. Навскидку, я ж предупреждал ![]() >мы о статической линковке говорим или нет?!!!! OMG. Меня плющит, по привычке опять на динамическую перескочил. >куда наружу? Я имел в виду (говоря про динамическую линковку), что куча всего, реализованного в .h библиотеки в конечном счете попадет в программу, а не в бинарник самой либы. Сейчас собрал полностью (libc и libstdc++) статический бинарник хелловорлда в метр с лишним... objdump показал около 5000 использованных символов... Изучением графа вызовов займусь в свободное время. Еще раз навскидку есть предположение, что гцц запихал в бинарь то, что необходимо не только main-у, а всему iostream-у и всему, что он использует (ибо он подключен в исходный файл программы и естественно компилируется). -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
![]() ![]() ![]() |
Правила ведения Религиозных войн | |
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Религиозные войны | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |