Compil C++ en RAM & charge processeur - C++ - Programmation
Marsh Posté le 22-09-2006 à 17:06:01
bah ton /tmp est pas en ram et ton serveur gère comme un naz son cache disque, donc les fichiers temporaires de compilation (qui représente un volume de données 1 ou 2 ordre de grandeur plus grand que les fichiers sources) vont sur le disque. Vu que tu as des processeurs, lance une compilation parallèle avec 'gmake -j<N>'. Si tu utilises g++, tu as l'option '-pipe' pour éviter ces fichiers temporaires.
Marsh Posté le 22-09-2006 à 17:09:44
Mon /tmp est en RAM (mon projet (+env) occupe environ 1Go).
J'ai aussi essaye en //, mais rien de bien transcendant par rapport a du // sur disque.
Marsh Posté le 22-09-2006 à 19:07:02
avoir les sources en ram ça n'apporte rien, ce n'est vraiment pas lecture des sources le goulet. soit solaris est pourri, soit ton outil de mesure est pourri. fais une mesure en j1, puis en j4 et si le temps n'est pas grosso-modo divisé par 4, alors solaris est pourri
Marsh Posté le 22-09-2006 à 19:38:03
Je doute que ce soit de la faute de Solaris, qui est un OS réputé très stable et est vendu pour des serveurs (et que je n'ai personnellement jamais vu planter après plusieurs années d'usage quotidien (les outils qui viennent avec par contre, c'est autre chose)). A part si c'est une vieille version (genre 2.6) qui ne gère pas ou mal les matériels récents. Mais je n'ai pas d'idée.
Marsh Posté le 22-09-2006 à 16:24:55
Salut,
Je ne suis pas sur que je trouverais ma reponse ici, mais sait-on jamais
Je me suis amusé a checkouter tout mon projet C++ dans la ram d'un serveur (Sun octo processeur, 8Go de RAM).
Je me suis assuré qu'il n'y avait aucun acces disque/reseau, et je suis etonne que la compilation ne soit pas plus rapide.
ccfe ne depasse pas 2% d'occupation processeur.
Une idée ?