Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Сильно уменьшается размер Exe файла, если поставить Link with runtime packages  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5107
неймспейсы практически убили столь хорошую фичу
2 сен 19, 06:50    [21961605]     Ответить | Цитировать Сообщить модератору
 Re: Сильно уменьшается размер Exe файла, если поставить Link with runtime packages  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3717
kealon(Ruslan)
неймспейсы практически убили столь хорошую фичу

Каким образом? Учитывая, что в дельфе неймспейсов нет, а есть тупые юнит скоупы.
2 сен 19, 11:53    [21961747]     Ответить | Цитировать Сообщить модератору
 Re: Сильно уменьшается размер Exe файла, если поставить Link with runtime packages  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5107
Kazantsev Alexey,

а вы посмотрите размер блока импорта функций, как они названы
2 сен 19, 11:55    [21961748]     Ответить | Цитировать Сообщить модератору
 Re: Сильно уменьшается размер Exe файла, если поставить Link with runtime packages  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3717
kealon(Ruslan)
а вы посмотрите размер блока импорта функций, как они названы

Не понял... Это печаль о длинных текстовых именах что ли?
2 сен 19, 12:13    [21961759]     Ответить | Цитировать Сообщить модератору
 Re: Сильно уменьшается размер Exe файла, если поставить Link with runtime packages  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3717
Kazantsev Alexey
Не понял... Это печаль о длинных текстовых именах что ли?

Прикола ради, сравнил отношение размера экспортных секций у rtlXXX.bpl до появления юнит скоупов (XE) и в последней версии дельфей (10.3). В XE размер rtl150.bpl 2MB, секция экспорта 500KB - 25%. В 10.3 размер rtl260.bpl почти 13MB, размер секции экспорта 4MB, около 30%. Разница, прямо скажем, невелика, уж на убийство-то точно не тянет.
2 сен 19, 12:48    [21961776]     Ответить | Цитировать Сообщить модератору
 Re: Сильно уменьшается размер Exe файла, если поставить Link with runtime packages  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3717
Kazantsev Alexey
около 30%

Неправильно посчитал, около 36%.
2 сен 19, 12:52    [21961778]     Ответить | Цитировать Сообщить модератору
 Re: Сильно уменьшается размер Exe файла, если поставить Link with runtime packages  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5107
Kazantsev Alexey,

сравни с Delphi7, а не с этими переделками
2 сен 19, 13:45    [21961819]     Ответить | Цитировать Сообщить модератору
 Re: Сильно уменьшается размер Exe файла, если поставить Link with runtime packages  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3717
kealon(Ruslan)
сравни с Delphi7, а не с этими переделками

Я эту версию не использую, поднимать виртуалку для неё лениво. А если там всё сильно лучше, то дело явно не в скоупах юнитов.
2 сен 19, 13:52    [21961825]     Ответить | Цитировать Сообщить модератору
 Re: Сильно уменьшается размер Exe файла, если поставить Link with runtime packages  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3717
Посмотрел в младшей, что у меня есть - D2006. Размер rtl100.bpl 823KB, размер секции экспорта 256KB (непосредственно таблица чуть больше 255KB), это примерно 31%.
2 сен 19, 14:49    [21961907]     Ответить | Цитировать Сообщить модератору
 Re: Сильно уменьшается размер Exe файла, если поставить Link with runtime packages  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5107
вы секцию импорта смотрите у экзешника, при таких размерах смысл теряется на импорт функции, она обычно сама меньше места занимает, чем название для неё
2 сен 19, 14:53    [21961911]     Ответить | Цитировать Сообщить модератору
 Re: Сильно уменьшается размер Exe файла, если поставить Link with runtime packages  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3717
kealon(Ruslan)
вы секцию импорта смотрите у экзешника, при таких размерах смысл теряется на импорт функции, она обычно сама меньше места занимает, чем название для неё

Размер секции импорта у exe не даст полной картины. А вот экспортные таблицы пакетов дают (и мы видим, что с появлением скоупов ситуация не сильно изменилась). И таки да, замангленное имя может быть сильно больше размера тела функции. Потому эти таблицы и раздувает, что типов дофига, да у каждого, более-менее сложного, примитивных методов, типа сеттеров и геттеров уйма.
2 сен 19, 15:04    [21961925]     Ответить | Цитировать Сообщить модератору
 Re: Сильно уменьшается размер Exe файла, если поставить Link with runtime packages  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5107
Kazantsev Alexey,

а теперь с учётом того, что умный линкёр помер всерьёз и надолго секция импорта дуется на любой чих до максимального размера
и практически всё это попопадёт в "мелкий" экзешник.
ну и зачем такая "оптимизация"?
2 сен 19, 15:14    [21961944]     Ответить | Цитировать Сообщить модератору
 Re: Сильно уменьшается размер Exe файла, если поставить Link with runtime packages  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3717
kealon(Ruslan),

Вот и получается, что проблема (для exe) не в скоупах, а дурном линкере.
2 сен 19, 15:24    [21961958]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Delphi Ответить