On Tue, 30 Apr, 2002 � 01:55:49PM +0200, frederic massot wrote: > georges mariano wrote: > > > > ... > > > > > Pourquoi Debian fait �a ? > > > - Parce que le gain de vitesse en compilant pour i686 est ridicule > > > pour la plupart des applications. > > Cela veut-il dire que la plus part des am�liorations apport�es aux > processeurs (ajout de nouvelles instructions, ...) sont in�fficaces ?
Pas du tout. Prenons un brave programmes compil� pour 386. Prenons 2 machines relativement identique (m�me fr�quence, m�me RAM), l'une dot� d'un 386 original et d'un 387 et l'autre d'un Pentium (I, II, III, Xeon, peu importe). Je ne sais pas � quelles turpitudes il faut se livrer pour trouver une 386 et un Pentium qui se ressemble � ce point, mais passons. Le programme va tourner (� fr�quences �gales je le rappelle), nettement plus vite sur le Pentium, de 2 � 5 fois plus vite grosso-modo. Magie ? Non, une m�me instruction s'ex�cute en moins de cycle d'horloge. Sur un 386, bon nombre d'instruction s'ex�cutent en plus de 10 cycles, sur un pentium, peu d'instructions n�cessite plus de 3 cycles. De plus le pentium dispose de quelques avantages : m�moire cache int�gr� au proc, meilleure gestion du cache, pr�diction de branchement (� partir du II il me semble) possibilit� de parall�liser certaines instruction (�a ne va pas bien loin, mais on peut faire un calcul FPU en m�me temps qu'un op�ration CPU simple pour les premiers pentiums alors que les r�cents ont 2 ALU je crois). En fait, le 686 a �t� con�u pour am�liorer les perfs des programmes fait pour le 386, c'est pour cela que la recompil n'apporte que des gains marginaux. > Quels sont les changements apport�s � un programme compil� avec l'option > i686 � la place de i386 ? D'abord, �viter les branchements (*), alignements m�moire sur des multiples de 4 plus strict. Apr�s, �a d�pend de la qualit� du compilateur, utiliser des instructions sp�cifiques pour certaines op�rations peut repr�senter un gain de temps significatif (BSET par exemple). En g�n�ral, �a ne vaut le co�t de compiler sp�cialement que pour tirer parti de sp�cificit�s : MMX, SSE. �a peut �tre int�ressant pour optimiser certains calculs d'une librairie scientifique, mais �a ne concerne en g�n�ral qu'une partie d'une librairie. (*) Dans l'absolu (en nb de cycles perdus), les branchements ne sont pas plus grave pour un 686 qu'un 386 mais en vitesse relative c'est la cata : perdre 10 cycles sur un 386 correspond au temps d'une instruction, alors que 10 cycles sur un 686 c'est de 5 � 15 instructions de perdues. -- ( >- Laurent PICOULEAU -< ) /~\ [EMAIL PROTECTED] /~\ | \) Linux : mettez un pingouin dans votre ordinateur ! (/ | \_|_ Seuls ceux qui ne l'utilisent pas en disent du mal. _|_/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

