Rapidité d’exécution de gcc

Le
lunix
Bonjour

Donc j'utilise gentoo,on m'a dit que ça servait a rien de compiler un
programme par exemple dans mon cas avec -march=core2.

Donc gcc compilé avec -march=core2 ou sans rien en generic va s’exécuté
avec la même rapidité?

Et make -j3 pour compiler ça accélère?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
lunix
Le #24534401
Le 04/06/2012 11:22, lunix a écrit :
Bonjour

Donc j'utilise gentoo,on m'a dit que ça servait a rien de compiler un
programme par exemple dans mon cas avec -march=core2.

Donc gcc compilé avec -march=core2 ou sans rien en generic va s’exécuté
avec la même rapidité?

Et make -j3 pour compiler ça accélère?



J'ai oublié de préciser que je suis zéro en programmation,je comprend a
peine un peu le fonctionnement de la compilation.
Nicolas George
Le #24534481
lunix , dans le message
Donc j'utilise gentoo,on m'a dit que ça servait a rien de compiler un
programme par exemple dans mon cas avec -march=core2.



Ça dépend quel programme.

Donc gcc compilé avec -march=core2 ou sans rien en generic va s’exécuté
avec la même rapidité?



Tu cherches à compiler gcc ou à compiler _avec_ gcc ?
lunix
Le #24534471
Le 04/06/2012 11:40, Nicolas George a écrit :
lunix , dans le message
Donc j'utilise gentoo,on m'a dit que ça servait a rien de compiler un
programme par exemple dans mon cas avec -march=core2.



Ça dépend quel programme.

Donc gcc compilé avec -march=core2 ou sans rien en generic va s’exécuté
avec la même rapidité?



Tu cherches à compiler gcc ou à compiler _avec_ gcc ?



J'ai compilé gcc avec -march=core2 dans le make.conf donc il est adapté
a mon système et va compilé plus rapidement?

Je pense que j'explique mal.

Par exemple pour les libs comme qt ou firefox ou chromium gcc va
compiler les fichiers plus rapidement?
lunix
Le #24534461
Le 04/06/2012 11:40, Nicolas George a écrit :
lunix , dans le message
Donc j'utilise gentoo,on m'a dit que ça servait a rien de compiler un
programme par exemple dans mon cas avec -march=core2.



Ça dépend quel programme.

Donc gcc compilé avec -march=core2 ou sans rien en generic va s’exécuté
avec la même rapidité?



Tu cherches à compiler gcc ou à compiler _avec_ gcc ?



J'ai compilé gcc avec -march=core2 dans le make.conf donc il est adapté
a mon système et va compilé plus rapidement?

Je pense que j'explique mal.

Par exemple pour les libs comme qt ou firefox ou chromium gcc va
compiler les fichiers plus rapidement?
Nicolas George
Le #24534891
lunix , dans le message
J'ai compilé gcc avec -march=core2 dans le make.conf donc il est adapté
a mon système et va compilé plus rapidement?



Pour gcc, je ne pense que la différence sera négligeable, à part pour un ou
deux programmes très complexes à optimiser.
Nicolas Richard
Le #24535031
Le Mon, 04 Jun 2012 11:22:29 +0200, lunix disait :
Donc gcc compilé avec -march=core2 ou sans rien en generic va s’exécuté
avec la même rapidité?



Je n'en ai aucune idée. On peut espérer que gcc soit au moins aussi
efficace lorsqu'il a été compilé spécifiquement pour ton architecture,
mais même ça je me demande parfois si c'est évident. Mais je suis comme
toi sur ce point : je sais à peine comment fonctionne un compilateur.

Et make -j3 pour compiler ça accélère?



Eh bien si tu as plusieurs processeurs, oui, ça devrait. Cela dit à
partir d'un certain nombre de processeurs, je suspecte que le goulot
d'étranglement est ailleurs. Là encore, je n'en sais fondamentalement
rien.

--
Nico.
Emmanuel Florac
Le #24538781
Le Mon, 04 Jun 2012 11:22:29 +0200, lunix a écrit:


Donc j'utilise gentoo,on m'a dit que ça servait a rien de compiler un
programme par exemple dans mon cas avec -march=core2.



Ça peut accélérer, mais à la marge.

Donc gcc compilé avec -march=core2 ou sans rien en generic va s’exécuté
avec la même rapidité?



Il va sans doute s'exécuter un tout petit peu plus vite, mais de nos
jours ce qui constitue le facteur de ralentissement le plus important
c'est plutôt le disque dur. Acheter un SSD, ça accélère énormément, le
reste...

Et make -j3 pour compiler ça accélère?



Ça accélère la compilation si tu as au moins 2 coeurs. Si tu as un 4
coeurs, mieux vaut faire make -j5. L'idée est de lancer plusieurs compils
en parallèle (3 ou 5 en l'espèce) pour occuper tous les coeurs.

--
I contend that we are both atheists. I just believe in one fewer god
than you do. When you understand why you dismiss all the other
possible gods, you will understand why I dismiss yours.
Steven Roberts
Nicolas George
Le #24538771
Emmanuel Florac , dans le message
Il va sans doute s'exécuter un tout petit peu plus vite, mais de nos
jours ce qui constitue le facteur de ralentissement le plus important
c'est plutôt le disque dur.



Pas forcément. À moins de compiler un monstre, l'arbre de compilation tient
entièrement en RAM. Et pour peu que les sources viennent juste d'être
déballées d'un tarball, tout se trouve déjà en cache, et les entêtes
systèmes y seront très rapidement également.
Emmanuel Florac
Le #24538931
Le Tue, 05 Jun 2012 20:39:50 +0000, Nicolas George a écrit:

À moins de compiler un monstre, l'arbre de compilation tient entièrement
en RAM.



Certes. Mais dans ce cas, que ton gcc soit compilé en 486 ou core2, ça ne
fera pas beaucoup de différence non plus :)

--
De longs désirs, une longue admiration sans espérance, voilà le moyen
d'adorer les femmes, et de rendre l'amour une passion délicieuse!
N. Rétif de la Bretonne.
Nicolas George
Le #24539021
Emmanuel Florac , dans le message
Certes. Mais dans ce cas, que ton gcc soit compilé en 486 ou core2, ça ne
fera pas beaucoup de différence non plus :)



Euh... tu peux expliciter ton raisonnement ?
Publicité
Poster une réponse
Anonyme