Le mystère de GNU yes
|
05-07-2012, 14h32
Message : #1
|
|
spin
![]() Contributeur ![]() ![]() ![]() ![]() ![]() Messages : 325 Sujets : 15 Points: 38 Inscription : Nov 2011 |
Le mystère de GNU yes
Salut, je suis confronté à un problème curieux, qui me fait penser que les programmeurs GNU sont vraiment des soricers
![]() J'imagine que vous connaissez tous le programme yes, qui affiche "y\n" en boucle quand lancé sans argument. J'ai voulu programmer un clone de yes en assembler, dont voici le code : Code : section .text Voici maintenant le code de GNU yes (en C, 88 lignes) : http://git.savannah.gnu.org/cgit/coreuti.../src/yes.c Je pense pouvoir dire sans prétention que mon yes devrait être plus optimisé, pourtant il n'en est rien. Voici les pseudo-benchmarks que j'ai effectué : Code : $ timeout 3s yes > lol1 # GNU yes (/usr/bin/yes) Sur 3 secondes d'exécution, GNU yes peut me produire 146944000 lignes de 'y', tandis que mon ./yes maison n'en produit qu'un nombre à 5 chiffres, la différence n'est pas moindre ! Je me suis dit que GNU yes devait avoir une priorité d'exécution plus haute que mon ./yes, ce qui faisait de lui un programme plus rapide. En regadant via top, les deux sont fixés à la même priorité NI = 0. Cela demeure un mystère, avez-vous une idée de ce qui peut rendre GNU yes plus rapide que mon programme de 7 instructions assembleur ? Ou bien les codeurs de GNU sont des vraiment sorciers ? Avez-vous une idée d'un autre facteur qu'il faut prendre en considération ? |
|
« Sujet précédent | Sujet suivant »
|
Messages dans ce sujet |
Le mystère de GNU yes - par spin - 05-07-2012, 14h32
RE: Le mystère de GNU yes - par Ark - 05-07-2012, 16h52
RE: Le mystère de GNU yes - par spin - 05-07-2012, 19h31
RE: Le mystère de GNU yes - par Ark - 06-07-2012, 10h56
RE: Le mystère de GNU yes - par gruik - 24-11-2012, 18h42
RE: Le mystère de GNU yes - par spin - 25-11-2012, 15h33
RE: Le mystère de GNU yes - par spin - 26-11-2012, 20h07
RE: Le mystère de GNU yes - par gruik - 26-11-2012, 20h34
|
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)