ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Dmitry V. Levin" <ldv@altlinux.org>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: Re: [devel] gdm-2.13.0.10-alt2
Date: Mon, 20 Mar 2006 02:23:00 +0300
Message-ID: <20060319232300.GA5423@basalt.office.altlinux.org> (raw)
In-Reply-To: <1142802515.10987.31.camel@snc.2100.gosniias.ru>

[-- Attachment #1: Type: text/plain, Size: 2716 bytes --]

On Mon, Mar 20, 2006 at 12:08:35AM +0300, Sergey N. Yatskevich wrote:
> Прикольно, а для меня вот необходимость такого патча НЕ очевидна.

Сергей, похоже что вы первый, кто усомнился во вредности
unused direct dependencies.

Лишние библиотеки, несомненно, замедляют запуск и увеличивают потребность
в памяти.  Ненужные явные зависимости в ELFах не всегда приводят к загрузке
лишних библиотек при запуске, хотя это зачастую и происходит.
Если в случае с gdm этого не происходит, то я, конечно, очень рад.

И, наконец, ненужные явные зависимости в ELFах очень часто приводят к
избыточным зависимостям между пакетами, и этого, конечно, нужно избегать.
Если нужно, я могу рассказать подробнее, почему.

> Я ещё раз повторяю, что помимо абстрактной "красоты" я никакой реальной
> пользы для работы данной конкретной программы не вижу (ни скорость
> работы gdm не увеличилась ни количество занимаемой им памяти не
> уменьшилось). А вот у меня работы прибавилось (при том, что я пока
> никак не могу заставить totem 1.4 нормально работать с libxine).
> Так что же улучшится, с точки зрения _пользователя_ gdm, от приложения
> патча "исправляющего" сборку?
> 
> P.S. а вот интересно, кто-нибудь собирал статистику о реальном выигрыше
>      от применения --as-needed. Ну там программы такие-то грузятся и
>      работают настолько-то быстрее и кушают на столько-то меньше
>      памяти. Я так понимаю, что именно для этого всё и затевалось.
>      или я неправильно понял цель всей этой эпопеи.

Конечно, польза в каждом случае своя, усреднять её толку мало.
Для запуска gdm-binary из gdm-2.14.0-alt1 я её измерил стандартным методом:

gdm-binary, слинкованный без --as-needed:
$ ldd -u /usr/sbin/gdm-binary |fgrep -c /lib 
19
$ time sh -c 'for i in `seq 3000`; do /usr/sbin/gdm-binary --version >/dev/null; done'
39.84user 17.85system 0:57.83elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (2532360major+539053minor)pagefaults 0swaps

gdm-binary, слинкованный c --as-needed:
$ ldd -u /usr/sbin/gdm-binary |fgrep -c /lib
10
$ time sh -c 'for i in `seq 3000`; do /usr/sbin/gdm-binary --version >/dev/null; done'
38.02user 19.16system 0:55.03elapsed 103%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (2535360major+539073minor)pagefaults 0swaps

Погрешность измерения выглядит так:
$ time sh -c 'for i in `seq 3000`; do :; done'
0.01user 0.01system 0:00.02elapsed 95%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (361major+148minor)pagefaults 0swaps

Таким образом, выигрыш в elapsed CPU составляет:
(57.83-55.03)*100%/57.83 т.е примерно 4.8%

Я надеюсь, что моя точка зрения теперь выглядит достаточно аргументированной.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]

  parent reply	other threads:[~2006-03-19 23:23 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-13 20:18 ` [devel] gdm-2.13.0.10-alt1 Dmitry V. Levin
2006-03-13 21:37   ` Dmitry V. Levin
2006-03-14 10:32     ` Sergey N. Yatskevich
2006-03-14 14:28       ` Andrei Bulava
2006-03-17 15:36         ` Semushin Slava
2006-03-17 20:18           ` Dmitry V. Levin
2006-03-18 14:35             ` [devel] Undocumented ldd -u Semushin Slava
2006-03-18 14:54               ` Genix
2006-03-18 16:21                 ` Semushin Slava
2006-03-18 16:31                   ` Andrey Rahmatullin
2006-03-18 17:12                   ` Alexey I. Froloff
2006-03-14 15:05       ` [devel] gdm-2.13.0.10-alt1 Dmitry V. Levin
2006-03-15  7:35         ` [devel] [wiki] /devel/UpStream (was: gdm-2.13.0.10-alt1)) Michael Shigorin
2006-03-15  9:52         ` [devel] gdm-2.13.0.10-alt1 Sergey N. Yatskevich
2006-03-15 10:48           ` Sergey Y. Afonin
2006-03-15 11:15           ` Денис Смирнов
2006-03-15 12:57           ` Dmitry V. Levin
2006-03-17 16:32             ` [devel] gdm-2.13.0.10-alt2 Dmitry V. Levin
2006-03-17 22:32               ` Sergey N. Yatskevich
2006-03-17 22:39                 ` Dmitry V. Levin
2006-03-17 22:49                   ` Sergey N. Yatskevich
2006-03-17 22:58                     ` Dmitry V. Levin
2006-03-19 21:08                       ` Sergey N. Yatskevich
2006-03-19 21:22                         ` Sergey Y. Afonin
2006-03-19 21:26                         ` Andrey Rahmatullin
2006-03-19 23:23                         ` Dmitry V. Levin [this message]
2006-03-20 13:47                           ` Sergey N. Yatskevich
2006-03-20 17:28                         ` Sergey V Turchin
2006-03-20 18:04                           ` Michael Shigorin
2006-03-21  1:22                         ` Dmitry V. Levin
2006-03-21 15:05                           ` Sergey N. Yatskevich
2006-03-17 23:08                     ` Alexey I. Froloff
2006-03-18  9:45                     ` Денис Смирнов
2006-03-13 20:22 ` [devel] I: libdb4.4-4.4.20-alt1 Dmitry V. Levin
2006-03-15  6:55 ` [devel] monit (обломался, но собрался?) Re: [Sisyphus-cybertalk] I: Sisyphus-20060313 packages: +8! -1 +85 (5386) Michael Shigorin
2006-03-15  7:03   ` Damir Shayhutdinov
2006-03-15  7:36     ` [devel] monit (обломался, но собрался?) Michael Shigorin
2006-03-15  8:02       ` Damir Shayhutdinov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060319232300.GA5423@basalt.office.altlinux.org \
    --to=ldv@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git