The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Оптимизация сборки GNOME приложений.

31.03.2005 09:49

В заметке "Speeding up of GNOME" показано как пересобрать GNOME приложение слинковав его только с необходимыми для его работы библиотеками, исключив все лишнее.

Например, при обычной (PKG-CONFIG) сборке gnome-terminal связан с 52 библиотеками, после пересборки используя "export CFLAGS = '-Os -s -Wl,--as-needed'", число привязанных библиотек удалось уменьшить до 21.

  1. Главная ссылка к новости (http://www.osnews.com/story.ph...)
  2. OpenNews: Наглядная демонстрация новых веяний GNOME
  3. OpenNews: Продолжение темы оптимизации GTK+ и GNOME
  4. OpenNews: GTK+ требует оптимизации использования памяти
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/5248-gnome
Ключевые слова: gnome, lib, optimization
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (6) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:24, 31/03/2005 [ответить]  
  • +/
    Вот-вот, теперь скажите мне, что Gnome не заслуживает смерти... Для таких вещей единственная возможная оптимизация - разделение на составные части - тулкиты, софт, библиотеки и window manager'ы, как положено, с зависимостями от того, что НУЖНО для работы, и искоренение ненужных рюшечек и невнятной 'интеграции', которая все равно не юзабельна.
     
  • 1.2, mirya (?), 19:25, 31/03/2005 [ответить]  
  • +/
    kate показывает 43 либы. Тут бить нужно не того, кто делает ГНОМа (или КДЕ), а того, кто сделал это:
    $ man ld
    ...
    --as-needed
           --no-as-needed
               This option affects ELF DT_NEEDED tags for dynamic  libraries  men-
               tioned on the command line after the --as-needed option.  Normally,
               the linker will add a DT_NEEDED tag for each dynamic  library  men-
               tioned  on  the  command line, regardless of whether the library is
               actually needed. --as-needed causes DT_NEEDED tags to only be emit-
               ted for libraries that satisfy some reference from regular objects.
               --no-as-needed restores the default behaviour.

    Ума не приложу, зачем нужен --no-as-needed, да еще и как дефолтная опция

     
  • 1.3, Аноним (1), 02:13, 01/04/2005 [ответить]  
  • +/
    блин, попробывал этот -as-needed в LDFLAGS запихать - получил "C compiler cannot create executables"... идти руки рехтовать? :)
     
     
  • 2.4, Аноним (1), 02:37, 01/04/2005 [^] [^^] [^^^] [ответить]  
  • +/
    отрехтовал :) вышло такое
    LDFLAGS="-Wl,-O1 -Wl,--relax -s -Wl,--as-needed -Wl,--enable-new-dtags -Wl,--sort-common -s -Wl,-z,now"
    nautilus собрался удачно...
     

  • 1.5, Iouri Goussev (?), 03:04, 01/04/2005 [ответить]  
  • +/
    А зачем? Небольшая задержка из-за них при загузке конечно есть, но она так мала что можно принебречь. Да и памяти меньше программа занимать не станет.
     
  • 1.6, v3625 (ok), 07:11, 07/04/2005 [ответить]  
  • +/
    ... Почему все обходят меня стороной?
    Потому что я злой, омерзительный гном ...
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру