Gentoo Archives: gentoo-dev

From: Dan Armak <danarmak@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Segregating KDE?
Date: Sun, 19 Sep 2004 19:32:34
Message-Id: 200409192233.39105.danarmak@gentoo.org
In Reply to: Re: [gentoo-dev] Segregating KDE? by Simone Gotti
1 On Sunday 19 September 2004 21:08, Simone Gotti wrote:
2 > By the way, I think that it's possible to split EVERY kde program/libs in a
3 > single package, this can be possibile by heavily patching the Makefiles
4 > like you've said so they can link to an installed lib instead of the local
5 > one, this libs will be a dep of the program and it should be of course a
6 > different ebuild.
7 It's certainly possible. I even think (well, intuition...) the patching won't
8 have to be very heavy.
9
10 >
11 > I'm already giving a little help to caleb and carlo on the kde ebuilds and
12 > if ypu and they think that a lot of people thinks that having single kde
13 > programs instead of the standard modules will be a better idea I'll be VERY
14 > happy to start hacking on this. My great fear is that it will slow down the
15 > development of the ebuilds because this bring to a lot of additional work!
16 > Think that probably the Makefile's patches must be changed on every kde
17 > major release.
18 >
19 > All I need is to know if you (gentoo kde developers) are really interested
20 > on this work. Let me know!
21 As I said, I'm definitely going to try making this work, but won't have real
22 time until the weekend after next (and most days after that, hopefully), so
23 you can beat me to it.
24
25 I've just tried the confcache patch. It's integrated into portage .51 cvs
26 snapshots here http://dev.gentoo.org/~ferringb/ebuild-daemon/51-pre20-cvs/ -
27 they apparently include other highly experimental stuff and the last one has
28 some bugs already fixed in cvs, so be in touch with #gentoo-portage if using
29 these. To enable confcache, add 'confcache' to FEATURES and change the kde
30 ebuilds to use econf rather than call configure directly. This results in the
31 kde.eclass attached - the change is trivial, but as I'm on rsync not cvs atm,
32 I can't make a diff immediately, sorry. The change for split packages should
33 also be on the order of a five-liner in kde.eclass, apart from the makefile
34 changes.
35
36 On my athlon xp 2600, this makes the kdelibs configure run go down from 66
37 seconds to 28 seconds. At least 10-12 seconds of each of these two numbers is
38 due to makefile generation, which will be very much reduced in split-up
39 ebuilds, so we get 54 sec -> 16 sec, or a 5x improvement.
40
41 Also, on slower machines a far larger percent of time spent in (non-cached)
42 configure is due to slow compilations rather than (as here) IO, so the
43 benefit will be even greater there. This indicates we should at least
44 reevluate the emerge performance factor of splitting up the kde ebuilds.
45
46 Using my old rough formula, we get:
47 17 configure scripts (before splitting ebuilds) --> 20-60 minutes total
48 running time
49 splitting up --> >=220 packages (? but at least that many, I believe)
50 splitting up without confcache --> 220-660 minutes, i.e. 3.6-11 hours, total
51 running time (clearly unacceptable)
52 splitting up with confcache --> about 15-20% of above, i.e. 1-2.2 hours total
53 running time
54
55 According to these numbers, if we both add confcache and split the ebuilds,
56 the total time for emerging all or nearly all of kde will increase by 0.6-1.2
57 hours, plus the overhead from running the emerge cycle 200 more times, which
58 I hope is relatively negligible (a few minutes?).
59
60 Compared with the benefits (to those who don't want all of kde, and
61 considering that >95% of people typing 'emerge kde' to save package selection
62 time don't really want kdetoys and kdeedu and such, this seems on first sight
63 to be a reasonable tradeoff for the added functionality. What do you think,
64 everyone? Also note that my benchmarking is hardly scientific, so I'd be glad
65 if someone bothered to repeat it and compare his results to mine.
66
67 --
68 Dan Armak
69 Gentoo Linux developer (KDE)
70 Matan, Israel
71 Public GPG key: http://dev.gentoo.org/~danarmak/danarmak-gpg-public.key
72 Fingerprint: DD70 DBF9 E3D4 6CB9 2FDD 0069 508D 9143 8D5F 8951

Attachments

File name MIME type
kde.eclass text/plain

Replies

Subject Author
Re: [gentoo-dev] Segregating KDE? Dan Armak <danarmak@g.o>
Re: [gentoo-dev] Segregating KDE? Simone Gotti <simone.gotti@×××××.it>
Re: [gentoo-dev] Segregating KDE? Simone Gotti <simone.gotti@×××××.it>