Les progrès des machines
Par Laurentj le jeudi, juillet 24 2008, 14:44 - Geek-log - Lien permanent
Sur mon nouveau portable, il a fallu que j'installe mes projets courants, les outils dont j'ai besoin etc. L'une de mes priorités : pouvoir compiler Etna et Firefox. J'ai été très agréablement surpris par les performances de cette nouvelle machine pourtant modeste au niveau du materiel : je met autant de temps pour compiler firefox, que sur une des becanes du boulot pourtant plus puissante sur le papier. Et voici une comparaison grossière :
| Machine | processeur | mémoire vive | disque dur | processus | Temps |
|---|---|---|---|---|---|
| Desktop (4.5 ans) | Pentium 4 dual core 3Ghz | 1Go | 150Go IDE | make en -j2 | 49 min |
| make en -j6 + distcc : 2 processus en local + 4 sur le serveur dell |
25 min | ||||
| Autre desktop dell (serveur) (2,5 ans) | Pentium D dual core 2.80 Ghz, cache 2Mo | 2Go | 150Go sata | make en -j2 | 24 min |
| Mon portable Dell 1525 (1 semaine) | Pentium dual core T2390 1.86 Ghz, cache 1Mo | 2Go | 80Go sata | make en -j2 | 26 min |
Ainsi :
- Le portable a un processeur moins rapide et avec moins de cache mémoire, mais il arrive à aller aussi vite que les autres machines plus puissantes.
- Pour les performances "désastreuses" du desktop, je pense que c'est à cause du fait d'avoir un seul giga-octet de mémoire (il swap pas mal j'ai l'impression, surtout lors du link de la libxul qui est assez énorme), mais aussi certainement le disque dur, un "vieux" truc en IDE (il y a des dizaines de milliers de fichiers à lire pour compiler le code source de Mozilla). Ce n'est que grâce à distcc que j'arrive à avoir un temps de compilation correcte.
Notez qu'en dehors de la compilation, ces machines ne faisaient quasiement rien d'autre, avec au pire seulement un navigateur ouvert.
Conclusions :
- Les progrès dans le design des processeurs et des chipsets sont indéniables, puisque à "puissance" inférieur à celle de composants plus anciens, on arrive à avoir des performances équivalentes voire meilleure. Ce n'était pas le cas "dans le temps", où pour avoir plus de performance, il fallait forcément avoir plus de puissance (enfin il me semble). Je reconnais toutefois que mon analyse est très grossière, car je n'ai pas regardé en détails les caractéristiques de chaque machine, de chaque carte mère, ni comparé la qualité des composants. Mais le portable est quand même un modèle d'entrée de gamme, que n'est pas le desktop Dell testé.
- Faut que je demande au moins une barrette de Ram de 1Go à mon patron :-)
Commentaires
Ah ben si c'est un Firefox, cherche pas plus loin tes problèmes de swap mémoire.
(Oui, facile.)
demande plus ; ça veut plus rien au Go la mémoire, aucune raison de se restreindre. Je dépense chaque semaine pour plus qu'un giga à bouffer tous les midis dans les gargottes a côté d'un boulôt. 4Go ça fait même pas de quoi déjeuner un mois.
t'as combien de FPS sur cs?
@zatona : teu teu teu, je joue pas au boulot môssieur :-)
sur le portable, faudra voir. J'ai une carte graphique de base intégrée, un truc pas super puissant je pense... P'tet plus puissant que ma geforce 2 MX que j'ai à la maison remarque :-)
Un ordi de développement de presque 5 ans ! Normalement les machines sont amorties sur 2 ou 3 ans ! Faut vraiment en changer ! Et oublies la barrette de SDRam ! Les barrettes neuves que tu trouveras seront hors de prix !! Tu te rends compte que que si tu compile ne serait-ce qu'une fois par jour, tu perds 25 minutes; Ca fait une journée par mois. Si tu passes cette journée en prestation chez un client, ton ordinateur de bureau est déjà remplacé !!! (Ok, je sais bien que pendant que tu compiles tu fais autre chose en même temps, mais franchement, même les non-informaticiens ont une machine plus récente)
Et je parle pas de ton IDE qui va te claquer dans les doigts prochainement, et du temps que tu vas gagner à chaque svn checkout ou update du projet sur ton nouveau disk UDMA.
@cedric : je ne recompile pas tout tout les jours hein. Pour Etna (basé sur Mozilla), je ne modifie pas tout le code source dans tout les sens, donc quand je fais des compiles, ça recompile que sur 2-3 lib maxi, et ça dure donc même pas 30 secondes (surtout avec distcc). Quant à Firefox, quand je le compile, c'est juste quand j'ai la curiosité de voir les nouveautés du trunk et que je ne veux pas attendre les builds des nightlies... Bref, que ça dure 15 ou 40 minutes, je m'en balance.
Ok, avoir une machine neuve serait mieux d'un point de vue fiabilité, mais franchement le fait d'avoir plus de performance, ca resterait pour une grande part de la branlette. La plupart du temps, les applis que j'utilise sont Firefox, un éditeur de texte (Kate), Thunderbird, une console système et... c'est tout. Mis à part gcc qui demande beaucoup de ressources ponctuellement (mais qui sont prises sur une machine à coté grâce à distcc), tout ça finalement ne demande pas 3Ghz et 15Go de Ram. Les applis sont fluides, le bureau est fluide (avec compiz activé !), tout est fluide. Pourquoi mettre au rebus une machine qui fonctionne bien et qui correspond aux besoins ? (enfin presque, une barrette de RAM en plus ne serait pas mal quand même comme je l'ai dit).
Quant à Subversion, ça ne me dérange pas. Je ne l'utilise que pour jelix et etna (tout deux ne comportant que quelques centaines de fichiers). Le reste, j'utilise maintenant Mercurial puisque les sources de mozilla sont désormais sous Mercurial :-) Et Mercurial, c'est plus rapide que svn :-p
Ah, précision aussi : ce n'est pas de la SDRAM, mais de la DDR PC3200. Ce n'est pas si obsolète que ça, et les prix de ces mémoires restent encore très abordable (30 à 40 euros le prix de base du Go, on peut pas dire que ça justifierai le remplacement d'une machine complète).
@cedric : Cela m'horripile toujours d'entendre qu'il faille absolument changer de machine au bout de 2 ou 3 ans. C'est ce qu'aimerait nous pousser à faire les industriels, mais est-ce une attitude responsable et écologique ? Les ordinateurs sont une grande source de pollution, la fabrication, le fonctionnement, mais aussi en tant que déchets. Ne devrions nous pas au contraire garder une machine le plus longtemps possible et forcer les développeurs à optimiser les leurs logiciels ? À titre de comparaison j'ai gardé mon Amiga 500 pendant 10 ans...
Pour le temps de compilation 25 minutes est le temps de compilation total, lorsque tu bosses sur un projet, généralement GCC recompile uniquement le fichier que tu as modifié par la totalité des sources. Pour les commandes SVN commit et update c'est la même chose, Subversion ne transfert que les fichiers modifiés, et le temps de transfert réseau n'es pas compressible quel que soit ton processeur ou ton disque dur. Quant aux IDE j'en ai testé beaucoup et pour mes besoins rien ne vaut la légèreté et la puissance d'édition de VIM :-p
@dogues : je crois que pour IDE, il faisait référence aux disques durs ;-)
@LaurentJ Maintenant que je relis la phrase plus calmement je pense que tu dois avoir raison lol L'erreur est humain, je suis trop humain c'est tout ;-)
« Les progrès dans le design des processeurs et des chipsets sont indéniables, puisque à "puissance" inférieur à celle de composants plus anciens, on arrive à avoir des performances équivalentes voire meilleure. Ce n'était pas le cas "dans le temps", où pour avoir plus de performance, il fallait forcément avoir plus de puissance »
Vous étiez sous l'emprise du someil lorsque vous avez publié cet article ? Il faut pas.
« une barrette de RAM en plus ne serait pas mal quand même »
Si une dépense de quelques dizaines d'euros pour l'achat de mémoire vie n'est pas possible, alors il est en effet inutile de songer à acheter une nouvelle machine.
@nicolas krebs : je suis désolé pour vous si vous confondez performance et puissance. Certes, ma phrase est un peu alambiqué mais bon...
Oui, et ? ai-je dit que l'achat de cette barette n'était pas possible ?
À lire votre commentaire, je me demande si ce n'est pas vous qui étiez sous l'emprise du sommeil.
« je suis désolé pour vous si vous confondez performance et puissance. »
Pourquoi?
« Oui, et ? »
Et rien. C'est juste un commentaire sur un détail de votre vie professionnelle.
« ai-je dit que l'achat de cette barette n'était pas possible ? »
Non, c'est pourquoi j'ai utilisé la conjonction « si ».