10/07/2008 Builder avec Visual Studio 8 en multithread

Parfois builder un projet C++ peut prendre du temps... beaucoup de temps! Chez e-on software attendre 30mins pour un build est une habitude quotidienne... pour les développeurs Windows! Sous Mac automatiquement make -j12 sur les octocores donnent au build multithread tout son sens!

Grâce à Arnaud [Calvin1602] Masserann le build Windows à pris un bon coup de boost! Automatiquement, Visual Studio 8 est capable de paralléliser le build des projets qui n'ont pas dépendance entre eux. Malheureusement, c'est un cas assez limité, mais heureusement, il y a /MPx!

/MPx est une option à ajouter à la ligne de commande de compilation d'un projet Visual Studio 8 et qui lance autant d'instances de 'cl' qu'indiquer par la commande /MPx (/MP8 pour 8 instances par exemple). J'ai effectué quelques tests sur mon Q6600 + 2Go de RAM tournant sous Windows XP 32.

  • Quake 4 SDK 1.3 (default): 35s
  • Quake 4 SDK 1.3 (/MP2): 25s
  • Quake 4 SDK 1.3 (/MP4): 20s
  • Quake 4 SDK 1.3 (/MP8): 21s
  • Irrlicht 1.4 (default): 43s
  • Irrlicht 1.4 (/MP4): 14s
  • Irrlicht 1.4 (/MP8): 14s
  • Xerces lib 2.8 (default): 71s
  • Xerces lib 2.8 (/MP4): 26s
  • Xerces lib 2.8 (/MP8): 27s

Le gain est donc vraiment significatif même si assez variable suivant les projets. J'ai noté une utilisation assez importante de mémoire, les 2 Go sont par loin d'y passer, je pense que sur une machine équipée de Vista et utilisé de manière plus vaste que seulement build un projet, les 4 Go de RAM ne feront pas de mal.

GLM 0.7.6 >
< Ouverture de forums pour G-Truc.net sur oZone3D.net
Copyright © Christophe Riccio 2002-2016 all rights reserved
Designed for Chrome 9, Firefox 4, Opera 11 and Safari 5