[sisyphus] Re: fpc&lazarus [JT]

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Чт Окт 20 18:01:07 MSD 2005


On Thu, Oct 20, 2005 at 11:25:48AM +0300, Michael Shigorin wrote:
> On Thu, Oct 20, 2005 at 06:49:03AM +0400, Alexey Tourbin wrote:
> > В binutils >= 1:2.15.92 есть новая опция --reduce-memory-overheads.
> > Вместе с --no-keep-memory получается приемлемый результат: для линковки
> > ppc386 используется 108M, для линковки fp используется 177M.  Реально
> > RSS требуется меньше, так что ppc386 и fp удается скомпоновать даже на
> > машинке с 128M, при активной поддержке kswapd.  Но всё же это большой
> > успех, потому что это разница между "работает" и "не работает".
> 
> Лёш, у нас на сборочнице полтора гига памяти и свопится оно
> на SCSI. :)  Как раз такие задачи иногда проще (в смысле времени)
> решать оглашением "эй, оно тут память жрёт", особенно если
> желающих применить рапшиль несколько.

У меня своя сборочница скоро будет неплохая.  Для доступа к чужой
сборочнице нужен bandwidth.  Дело здесь не в этом.  Просто хочется
"подкрутить" существующую технику оптимизации, чтобы она приемлемо
работала на low-end машинах.  К сожалению в ld(1) сказано, что при
экономии памяти работает O(n^2), а не O(n) алогритм.  Нужно будет ещё
поэкспериментировать.  Но для сборки больших проектов со smart linking
перерасход памяти становится основной проблемой.

Кто ничего не понял, smart linking -- это специальная техника
оптимизации статической линковки.  Вместо объектных *.o файлов создаются
*.a файлы (архивы *.o файлов).  То есть *.o файл нарезается на
мелкие-мелкие кусочки.  При линковке с *.a файлами линкер выдёргивает
только те кусочки, которые реально используются в бинаре.  Это такая
техника в стандартном линкере, она ещё со времен царя Гороха.  Но она
работает не очень эффективно по времени/памяти.  Бинарь может получиться
меньше раза в 2 в некоторых случаях.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20051020/d15f587a/attachment-0003.bin>


Подробная информация о списке рассылки Sisyphus