View previous topic :: View next topic |
Author |
Message |
gt_amd64 Apprentice
Joined: 02 Dec 2004 Posts: 181
|
Posted: Thu Dec 21, 2023 5:45 pm Post subject: Installierte Pakete nach Anzahl der Abhängigkeiten auflisten |
|
|
Hallo,
hat Jemand vielleicht einen Befehl oder ein Skript mit dem man die installiereten Pakete nach Anzahl der Abhängigkeiten auflisten kann?
Also das Paket von dem die meisten anderen Pakete abhängen sollte bei der Ausgabe an erster Stelle stehen - zum Beispiel so:
97: dev-libs/glib
63: sys-libs/talloc
24: sys-libs/zlib
...
01: virtual/libcrypt
Hintergrund ist die Performance gezielter optimieren zu können bzw. als Entscheidungshilfe dafür bei welchen Paketen man mal einen Blick auf die USE-Flags werfen sollte oder welche Pakete man in die package.accept_keywords aufnimmt.
Falls Jemand eine Lösung parat hat, wäre das sehr hilfreich - Danke! |
|
Back to top |
|
|
Banana Moderator
Joined: 21 May 2004 Posts: 1800 Location: Germany
|
|
Back to top |
|
|
gt_amd64 Apprentice
Joined: 02 Dec 2004 Posts: 181
|
Posted: Thu Dec 21, 2023 9:00 pm Post subject: |
|
|
Richtig - equery kenne ich natürlich. Ich hatte gehofft das hier Jemand schon ein Skript oder eine Befehlsfolge dafür hat - trotzdem Danke. |
|
Back to top |
|
|
Banana Moderator
Joined: 21 May 2004 Posts: 1800 Location: Germany
|
|
Back to top |
|
|
gt_amd64 Apprentice
Joined: 02 Dec 2004 Posts: 181
|
Posted: Fri Dec 22, 2023 4:30 pm Post subject: |
|
|
Vielen Dank - das funktioniert so schon ganz gut und ist sehr hilfreich!
Ich hatte es mit equery g PKG versucht, aber das ist komplizierter zu verarbeiten weil dort sämtliche Versionen von z.B. python angezeigt werden. |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5327
|
Posted: Fri Dec 22, 2023 5:14 pm Post subject: |
|
|
gt_amd64 wrote: | Vielen Dank - das funktioniert so schon ganz gut und ist sehr hilfreich!
Ich hatte es mit equery g PKG versucht, aber das ist komplizierter zu verarbeiten weil dort sämtliche Versionen von z.B. python angezeigt werden. |
Das "PKG" ist ein normales "pkgspec", wie man es auch von emerge kennt. Du kannst auch hier die versionsnummer oder slot angeben
z.b. Code: | equery g \=dev-lang/python-3.12.1 |
Code: | equery g dev-lang/python:3.12 |
_________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
sMueggli Guru
Joined: 03 Sep 2022 Posts: 514
|
Posted: Fri Dec 22, 2023 5:22 pm Post subject: |
|
|
gt_amd64 wrote: | Hintergrund ist die Performance gezielter optimieren zu können bzw. als Entscheidungshilfe dafür bei welchen Paketen man mal einen Blick auf die USE-Flags werfen sollte oder welche Pakete man in die package.accept_keywords aufnimmt. |
Ich glaube nicht, dass die Anzahl der Abhängigkeiten ein guter Indikator für "Performance" ist. Dazu stellen sich die Fragen, was genau du unter "Performance" verstehst und viel wichtiger, wie du die Performance misst. Ohne Messungen kannst du keinen Vorher/Nachher-Vergleich aufstellen.
Es ist oft so, dass sich Dinge "schneller" anfühlen, wenn man weiss, dass man "etwas an der Performance" optimiert hat. |
|
Back to top |
|
|
Max Steel Advocate
Joined: 12 Feb 2007 Posts: 2270 Location: My own world! I and Gentoo!
|
Posted: Fri Dec 22, 2023 5:40 pm Post subject: |
|
|
Dazu eine trivia:
Ich erinnere mich dunkel an ein Blogpost über Abhängigkeiten und Performance in C anhand des simplen Beispiels 'yes'...
Und wie man manchmal deutlich größere "Abhängigkeiten" braucht um bessere Performance zu liefern.
Jetzt müsste ich den nur wieder finden. _________________ mfg
Steel
___________________
Heim-PC: AMD Ryzen 5950X, 64GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-1145G7, 16GB RAM, Intel Iris Xe Graphic (leider WSL2) |
|
Back to top |
|
|
gt_amd64 Apprentice
Joined: 02 Dec 2004 Posts: 181
|
Posted: Fri Dec 22, 2023 6:05 pm Post subject: |
|
|
Was Performancesteigerung angeht:
Ja, Messbarkeit ist so eine Sache - vieles lässt sich objektiv einfach schlecht messen.
Hat man eine sehr schnelle CPU wird man derartige Optimierungen vermutlich nicht bemerken oder spüren und kann sich die Zeit auch sparen.
Hat man eine langsame CPU dann muss man da nicht viel messen, sondern dann merkt man es tatsächlich deutlich! (z.B. der Seitenaufbau beim Firefox)
Die Anzahl der Abhängigkeiten alleine ist sicher nicht aussagekräftig - das ist korrekt!
Hier gilt es die richtige Auswahl zu treffen - interessant für mich sind hier vor allem die libs, denn je öfter eine lib genutzt wird, desto größer ist die Wahrscheinlichkeit das hier eine Optimierung (und sei es nur -Ofast statt -O2) insgesamt etwas bringt.
Nebenbei hat mir das Skript auch noch diese Meldungen ausgespuckt:
Code: |
!!! Invalid CPV: 'gui-libs/-MERGING-wlroots-0.16.2-r2'
!!! Invalid CPV: 'sys-kernel/-MERGING-dracut-055-r4'
!!! Invalid CPV: 'sys-kernel/-MERGING-gentoo-sources-5.17.2'
|
Diese -MERGING Ordner befinden sich in /var/db/pkg/ und da ich gentoo-sources-6.6.8 installiert habe vermute ich mal das man diese Verzeichnisse löschen kann, also hat sich das schon zum Aufräumen gelohnt - weniger Dateien steigern auch die Performance |
|
Back to top |
|
|
|