De Debian à Gentoo

matt@emeraude ~ $ diff -y /boot/config-2.6.19-gentoo-r5 /mnt/debian/boot/config-2.6.19-korg-686 | grep "[|<>]" | wc -l 2288donc, plutot que de lister les 2288, je ne te met que le debut:

[code]# Linux kernel version: 2.6.19-gentoo-r5 | # Linux kernel version: 2.6.19-korg-686

Sat Apr 14 21:33:51 2007 | # Fri Dec 22 22:55:21 2006

                                                          > CONFIG_LOCK_KERNEL=y

CONFIG_POSIX_MQUEUE is not set | CONFIG_POSIX_MQUEUE=y

CONFIG_BSD_PROCESS_ACCT is not set | CONFIG_BSD_PROCESS_ACCT=y

                                                          > CONFIG_BSD_PROCESS_ACCT_V3=y

CONFIG_AUDIT is not set | CONFIG_AUDIT=y

CONFIG_IKCONFIG=y | # CONFIG_AUDITSYSCALL is not set
CONFIG_IKCONFIG_PROC=y | # CONFIG_IKCONFIG is not set

CONFIG_LBD is not set | CONFIG_LBD=y

CONFIG_LSF is not set | CONFIG_LSF=y

CONFIG_IOSCHED_AS is not set | CONFIG_IOSCHED_AS=y

CONFIG_IOSCHED_DEADLINE is not set | CONFIG_IOSCHED_DEADLINE=y

CONFIG_HPET_TIMER is not set | CONFIG_HPET_TIMER=y

CONFIG_PREEMPT_NONE=y | # CONFIG_PREEMPT_NONE is not set

CONFIG_PREEMPT is not set | CONFIG_PREEMPT=y

CONFIG_X86_UP_APIC=y | # CONFIG_PREEMPT_BKL is not set
CONFIG_X86_UP_IOAPIC=y | # CONFIG_X86_UP_APIC is not set
CONFIG_X86_LOCAL_APIC=y <
CONFIG_X86_IO_APIC=y <
CONFIG_X86_MCE_NONFATAL=y | CONFIG_X86_MCE_NONFATAL=m

CONFIG_X86_MCE_P4THERMAL is not set <

CONFIG_TOSHIBA is not set | CONFIG_TOSHIBA=m

CONFIG_I8K is not set | CONFIG_I8K=m

CONFIG_MICROCODE is not set | CONFIG_MICROCODE=m

CONFIG_X86_MSR is not set | CONFIG_MICROCODE_OLD_INTERFACE=y

CONFIG_X86_CPUID is not set | CONFIG_X86_MSR=m

                                                          > CONFIG_X86_CPUID=m

CONFIG_EDD is not set | CONFIG_EDD=m

CONFIG_DELL_RBU is not set | CONFIG_EFI_VARS=m

CONFIG_DCDBAS is not set | CONFIG_DELL_RBU=m

CONFIG_NOHIGHMEM=y | CONFIG_DCDBAS=m

CONFIG_HIGHMEM4G is not set | # CONFIG_NOHIGHMEM is not set

                                                          > CONFIG_HIGHMEM4G=y
                                                          > CONFIG_HIGHMEM=y
                                                          > # CONFIG_HIGHPTE is not set

CONFIG_EFI is not set | CONFIG_EFI=y

                                                          > CONFIG_BOOT_IOREMAP=y

CONFIG_HZ_100=y | # CONFIG_HZ_100 is not set

CONFIG_HZ_1000 is not set | CONFIG_HZ_1000=y

CONFIG_HZ=100 | CONFIG_HZ=1000

CONFIG_KEXEC is not set | CONFIG_KEXEC=y

                                                          > # CONFIG_CRASH_DUMP is not set
                                                          > CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y

CONFIG_PM_LEGACY is not set | CONFIG_PM_LEGACY=y

CONFIG_PM_STD_PARTITION="/dev/hda2" | CONFIG_PM_STD_PARTITION="/dev/hdb3"

CONFIG_ACPI_SLEEP is not set | CONFIG_ACPI_SLEEP=y

                                                          > CONFIG_ACPI_SLEEP_PROC_FS=y
                                                          > # CONFIG_ACPI_SLEEP_PROC_SLEEP is not set

CONFIG_ACPI_DOCK is not set | CONFIG_ACPI_DOCK=m

CONFIG_ACPI_ASUS is not set | CONFIG_ACPI_ASUS=m

CONFIG_ACPI_IBM is not set | CONFIG_ACPI_IBM=m

CONFIG_ACPI_TOSHIBA is not set | CONFIG_ACPI_TOSHIBA=m

CONFIG_ACPI_SBS is not set | CONFIG_ACPI_SBS=m

CONFIG_APM is not set | CONFIG_APM=m

                                                          > # CONFIG_APM_IGNORE_USER_SUSPEND is not set
                                                          > # CONFIG_APM_DO_ENABLE is not set
                                                          > # CONFIG_APM_CPU_IDLE is not set
                                                          > # CONFIG_APM_DISPLAY_BLANK is not set
                                                          > # CONFIG_APM_RTC_IS_GMT is not set
                                                          > # CONFIG_APM_ALLOW_INTS is not set
                                                          > # CONFIG_APM_REAL_MODE_POWER_OFF is not set

CONFIG_CPU_FREQ is not set | CONFIG_CPU_FREQ=y

                                                          > CONFIG_CPU_FREQ_TABLE=m
                                                          > # CONFIG_CPU_FREQ_DEBUG is not set
                                                          > CONFIG_CPU_FREQ_STAT=m
                                                          > # CONFIG_CPU_FREQ_STAT_DETAILS is not set
                                                          > CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
                                                          > # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
                                                          > CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
                                                          > CONFIG_CPU_FREQ_GOV_POWERSAVE=m
                                                          > CONFIG_CPU_FREQ_GOV_USERSPACE=m
                                                          > CONFIG_CPU_FREQ_GOV_ONDEMAND=m
                                                          > CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
                                                          >
                                                          > #
                                                          > # CPUFreq processor drivers
                                                          > #
                                                          > CONFIG_X86_ACPI_CPUFREQ=m
                                                          > CONFIG_X86_POWERNOW_K6=m
                                                          > CONFIG_X86_POWERNOW_K7=m
                                                          > CONFIG_X86_POWERNOW_K7_ACPI=y
                                                          > CONFIG_X86_POWERNOW_K8=m
                                                          > CONFIG_X86_POWERNOW_K8_ACPI=y
                                                          > CONFIG_X86_GX_SUSPMOD=m
                                                          > CONFIG_X86_SPEEDSTEP_CENTRINO=m
                                                          > CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y
                                                          > CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
                                                          > CONFIG_X86_SPEEDSTEP_ICH=m
                                                          > CONFIG_X86_SPEEDSTEP_SMI=m
                                                          > CONFIG_X86_P4_CLOCKMOD=m
                                                          > CONFIG_X86_CPUFREQ_NFORCE2=m
                                                          > CONFIG_X86_LONGRUN=m
                                                          > CONFIG_X86_LONGHAUL=m
                                                          >
                                                          > #
                                                          > # shared options
                                                          > #
                                                          > # CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
                                                          > CONFIG_X86_SPEEDSTEP_LIB=m
                                                          > CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y

CONFIG_PCIEPORTBUS is not set | CONFIG_PCIEPORTBUS=y

CONFIG_PCI_MSI is not set | CONFIG_HOTPLUG_PCI_PCIE=m

CONFIG_HT_IRQ=y | # CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE is not set
> CONFIG_PCIEAER=y

CONFIG_ISA is not set | CONFIG_ISA=y

                                                          > # CONFIG_EISA is not set
                                                          > CONFIG_K8_NB=y

CONFIG_HOTPLUG_PCI is not set | CONFIG_HOTPLUG_PCI=m

                                                          > CONFIG_HOTPLUG_PCI_FAKE=m
                                                          > CONFIG_HOTPLUG_PCI_COMPAQ=m
                                                          > # CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
                                                          > CONFIG_HOTPLUG_PCI_ACPI=m
                                                          > CONFIG_HOTPLUG_PCI_ACPI_IBM=m
                                                          > CONFIG_HOTPLUG_PCI_CPCI=y
                                                          > CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
                                                          > CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
                                                          > CONFIG_HOTPLUG_PCI_SHPC=m
                                                          > # CONFIG_HOTPLUG_PCI_SHPC_POLL_EVENT_MODE is not set

CONFIG_IP_MROUTE is not set | CONFIG_IP_MROUTE=y

CONFIG_ARPD=y | CONFIG_IP_PIMSM_V1=y
> CONFIG_IP_PIMSM_V2=y
> # CONFIG_ARPD is not set
CONFIG_TCP_CONG_BIC=m | CONFIG_TCP_CONG_BIC=y
CONFIG_TCP_CONG_CUBIC=y | CONFIG_TCP_CONG_CUBIC=m

CONFIG_DEFAULT_BIC is not set | CONFIG_DEFAULT_BIC=y

CONFIG_DEFAULT_CUBIC=y | # CONFIG_DEFAULT_CUBIC is not set
CONFIG_DEFAULT_TCP_CONG=“cubic” | CONFIG_DEFAULT_TCP_CONG=“bic”

CONFIG_IP_VS is not set | CONFIG_IP_VS=m

(…)[/code]

Je regrette les noyaux 2.0, un fichier de config=229 lignes, 290 pour mes 2.2, 833 pour les 2.4 et 3535 pour les 2.6, je pronostique 10000 pour le 3.0

Cela fait près de 10 ans que j’utilise Linux et c’est avec la Gentoo que j’ai le plus appris.
Je dirais donc que la Gentoo est à essayer, pour apprendre les fondements d’un système Gnu/Linux, c’est l’idéal.

Je l’ai utilisé avec un pov Duron 1,2 Ghz et 256 Mo de Ram en plus, pas un foudre de guerre donc et ça tournait plutôt bien. Il faut juste être patient en cas de grosses mises à jour comme X, Gnome, KDE ou le coeur Glibc, Gcc.

Pour l’avoir installé/utilisé pendant 3 ans (à partir des 3 stages) et testé pas mal d’optimisations des Cflags, je pense que le mieux est de rester au plus simple, cela évite de faire des bêtises ou de se retrouver avec des erreurs de compils insolubles parce qu’on a rajouté l’option qui tue sa maman ours et qui ne sert pas à grand chose sauf à se retrouver avec un source qui ne compile pas.
Pour mon Duron, je mets simplement un CFLAGS=“march=athlon-xp -pipe -fomit-frame-pointer -O2”

Amha, le but de la Gentoo n’est pas d’avoir un système plus rapide, ce n’est pas un argument que l’on retrouve aux quatre coins de la doc d’ailleurs, mais plutôt d’avoir un système optimisé au niveau de son matériel et de son utilisation avec les variables USE, pourquoi compiler le support d’un graveur quand on n’en a pas ? Pourquoi compiler QT quand on n’utilise absolument pas KDE et consorts ?

Voilà mon humble avis sur la chose …

[quote=“mattotop”]quote="fran.b"
Cela dit, sur ce point il a raison. Le code produit est indentique si l’architecture et les options sont identiques.
(…)[/quote]Ce que je dis, c’est que tout le monde n’a pas besoin de support de tout partout. Quand les composants sont 20-30% plus petit, ils se chargent 20-30% plus vite. Il y a des simplifications aussi de l’execution quand tout le code n’est pas activé.[/quote]
Un exe plus petit n’est pas nécessairement plus rapide (voir architecture RISC (avec peut être une faute d’orthographe)).

Ensuite je ne vais pas vraiment en quoi les exe sont plus court avec un -fomit-frame-pointer ou un -march=prescott. Pour diminuer la taille de l’exe il faudrais (je pense) plus des options du type -DNODEBUG ou tout simplement -s.
Les options d’optimisation de gcc ne font que prendre en compte ou non divers jeux d’instructions du processeur, ça joue surement sur la taille de l’exe mais pas forcément pour en diminuer la taille.

Le seul paquet dont on peut à ma connaissance vraiment modifier la taille et la vitesse d’execution c’est le noyau, mais on passe par un fichier de configuration pour ça.

[quote=“Yoko”][quote=“mattotop”]quote="fran.b"
Cela dit, sur ce point il a raison. Le code produit est indentique si l’architecture et les options sont identiques.
(…)[/quote]Ce que je dis, c’est que tout le monde n’a pas besoin de support de tout partout. Quand les composants sont 20-30% plus petit, ils se chargent 20-30% plus vite. Il y a des simplifications aussi de l’execution quand tout le code n’est pas activé.[/quote]
Un exe plus petit n’est pas nécessairement plus rapide (voir architecture RISC (avec peut être une faute d’orthographe)).[/quote]non, mais je réitère ce que je dis, ça fait moins de données à lire/swapper.[quote=“Yoko”]Ensuite je ne vais pas vraiment en quoi les exe sont plus court avec un -fomit-frame-pointer ou un -march=prescott. Pour diminuer la taille de l’exe il faudrais (je pense) plus des options du type -DNODEBUG ou tout simplement -s.[/quote]
je parlais de tout le fatras de linkage et autre hooks qui se rajoutent au soft quand tu compiles avec/sans gtk, par exemple, ou avec tout un pan de code desactivé par un #ifdef parceque tu n’utilises pas une lib ou une autre.

je parlais de tout le fatras de linkage et autre hooks qui se rajoutent au soft quand tu compiles avec/sans gtk, par exemple, ou avec tout un pan de code desactivé par un #ifdef parce que tu n’utilises pas une lib ou une autre.[/quote]
Ça c’est le script configure qui s’en occupe. Je sais pas comment ça se passe avec un .deb

Ce que veux dire Mat, c’est que le paquet est conçu pour répondre à tous les besoins ce qui amène à construire une usine à gaz qui peut perdre en efficacité et surtout qui est énorme. L’argument est particulièrement valable sur le noyau mais aussi sur des grosses machinerie. J’ai compilé et utilise un X11 version «Tiny», ben c’est quand même plus rapide. Tu le vois aussi sur mplayer qui par exemple perd son optimisation si tu le prévois pour toute architecture. Il suffit de regarder les options passé au ./configure dans les paquets debian, c’est assez impressionnant et sans doute superflu la plupart du temps: En général, on n’a pas besoin du support du japonais.

Entre charger une lib qui est déja chargée en mémoire (ehhh oui, on ne charge pas 2 fois une librairie partagée identique sous GNU/Linux), qui pèse 20KB, et une autre qui pèse 19.2KB, honnêtement, je ne suis pas certain que tu voit la différence un jour. A moins que tu tourne sur une sparc station 5, sans disque dur, au travers de NFS, via un lien x25…

A+,

Sauf que:
1/un soft un peu chargé ne charge pas qu’une seule lib, ni même que les libs, et si tu reduit de 20% la taille de tout, tu augmenteras d’autant tes temps de lecture disque pour ce qui concerne tout ce que tu as comprimé
2/je ne connais pas la stratègie de glue pour les libs partagées, mais ça m’étonnerait qu’elles restent indéfiniment en mêmoire quand plus rien ne les sollicite.
3/quand tu link contre une usine à gaz genre gtk ou qt, non seulement tu perds du temps sur le chargement du binaire lui même (bon OK, c’est peut être peanuts), mais en plus, tu charges toute la cascade de libs et tu actives éventuellement une série de nouveaux services/hooks et autres process dont tu ne te sert pas, mais qui prennent de la place en memoire, et qui consomment en plus parfois d’autres ressources genre CPU.

Je suis désolé, mais je reste sur ma position: plus c’est épuré, plus ça tourne vite.

Tu prend vi tu le compile pour retirer les fonctions de vim, tu lui ajoute le support du multithread et l’option -O3. Tu auras pas un système plus rapide, c’est vi qui le seras.

Ce que je veux dire c’est que ce sont les usinagz qu’il faut optimiser si on est accro aux performances, les petites appli qui se lancent une fois par moi n’ont aucune influence.

Désolé de remonter le topic mais je pense aussi passer à… Gentoo. :laughing:

toujours bloqué sur les limobes ?

Toujours ! :laughing:

Bon, j’ai monté le DD 40 Go en esclave sur mon PC principal.

74 Go pour Debian et…
40 Go pour Gentoo ? :smiley:

Faudrait que je m’accroche.

Perso je me laisserais bien tenter par LFS, y’en a ici qui ont déjà essayé ?

ymer, n’aide pas wavesound à dériver du sujet programmation en C: ça fait plusieurs jours que j’attend que wavesound débloque ou pose au moins des questions, alors ne lui donne pas de pretexte à oublier le sujet.
J’ai déjà fait une lfs, mais on en cause dans un autre fil, si tu veux bien.

Ok pas de soucis :wink:

OOPS
je croyais qu’on etait dans le fil prog en C, en fait.

Pour ça j’ai pas trop compris sur le coup mais pas grave :wink:

Ça n’est pas grave, Matt a raison, wavesound, laisse tomber Gentoo et occupe toi de tes fonctions C nom de Zeus…