Accélérer la compilation de PHP
Par Armel FAUVEAU, lundi 22 juillet 2002 à 00:48 :: Trucs et Astuces PHP :: #331 :: rss
Si vous trouvez que la compilation de PHP prend trop de temps (au hasard de l'ajout du support d'une nouvelle extension par exemple), il existe un moyen d'accélerer notablement la chose.
La procédure de base afin de compiler PHP (par exemple en module APXS avec le support de MySQL uniquement), peut se résumer ainsi :
armel@chrome:~/php-4.2.1$ ./configure '--with-apxs=/usr/local/apache/bin/apxs' '--with-mysql=/usr/local/mysql/' armel@chrome:~/php-4.2.1$ make armel@chrome:~/php-4.2.1$ make installUne lecture attentive de la documentation relative à make indique qu'il est possible de jouer sur le nombre de jobs par le biais de l'argument -j.
-j jobs Specifies the number of jobs (commands) to run simultaneously. If there is more than one -j option, the last one is effective. If the -j option is given without an argument, make will not limit the number of jobs that can run simultaneously.Suivant la puissance de votre machine, vous pouvez donc utiliser cet argument afin d'acceler la compilation. A titre d'exemple, voici le configure ainsi que les temps mesurés sur l'un de mes serveurs en jouant sur cet argument.
Sans l'argument -j
armel@chrome:~/php-4.2.1$ ./configure '--with-apxs=/usr/local/apache/bin/apxs' '--with-pear' ' --with-mysql=/usr/local/mysql/' '--with-zlib' '--with-bz2' '--enable-trans-sid' '--enable-ftp' '--enable- sockets' '--enable-xml' '--enable-xslt' '--with-xslt-sablot' armel@chrome:~/php-4.2.1$ time make real 2m22.334s user 1m59.730s sys 0m28.960sAvec l'argument -j 10
armel@chrome:~/php-4.2.1$ ./configure '--with-apxs=/usr/local/apache/bin/apxs' '--with-pear' ' --with-mysql=/usr/local/mysql/' '--with-zlib' '--with-bz2' '--enable-trans-sid' '--enable-ftp' '--enable- sockets' '--enable-xml' '--enable-xslt' '--with-xslt-sablot' armel@chrome:~/php-4.2.1$ time make -j 10 real 1m32.724 user 2m3.770s sys 0m30.420sBien évidement, l'emploi de l'argument -j n'est pas réservé à la seule compilation de PHP. Il en va de même pour Apache, MySQL, etc. Enfin, veillez à ne pas utiliser une valeur trop importante sous peine de freezer totalement votre machine :)
Bonne compilation !






Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Vous pouvez soumettre un commentaire en remplissant le formulaire ci-dessous. Toutes les contributions font l'objet d'une étape de modération par notre équipe.
Le code HTML dans le commentaire sera affiché comme du texte, les adresses internet seront converties automatiquement.