Bon optimiseur pour les scripts PHP de ligne de commande à forte intensité de mémoire?

StackOverflow https://stackoverflow.com/questions/5495977

Question

J'ai optimisé les scripts au plus possibles d'étranglements possibles. Il est difficile de porter le code vers une autre langue, donc ce n'est pas une bonne solution.

Y a-t-il des générateurs d'opcode, des optimisateurs que je peux utiliser pour optimiser la performance de ces scripts PHP en cours?

Ils s'exécutent à partir de la ligne de commande, pas sur Apache.

/usr/bin/php myBatchProcessor.php 

Eaccelerator ou Zend Optimizer fonctionne-t-il pour les scripts de ligne de commande? ou d'autres suggestions?

Était-ce utile?

La solution

Php "optimisateurs«sont de l'huile de serpent!

"Optimizers" n'étaient nécessaires que dans le Php4 ERA en raison des inefficacités dans la transformation de la source PHP au bytecode sur lequel Zend Engine 1 a exécuté. Ce n'est plus un problème dans PHP5. Les dérivés modernes des produits de l'ère PHP4 effectuent également une mise en cache Bytecode, ce qui est très utile. Se méfier de n'importe quel produit qui le prétend peut rendre la vanille php ordinaire plus rapidement. Surtout pour de l'argent.

Ils s'exécutent à partir de la ligne de commande, pas sur Apache.

Normalement, comme d'autres l'ont fait, je recommanderais l'APC cache bytecode, mais APC ne fait rien pour les scripts de longue date s'exécutent sur la ligne de commande.

Êtes-vous Bien sur que tu déjà a profilé votre code et retiré tous les goulots d'étranglement possibles?

Si c'est le cas, il est peut-être temps de prendre un coup Hip hop, un compilateur qui transforme PHP en C ++ avant de créer un exécutable. Il peut ne pas convenir à vos besoins, car il est conçu exclusivement pour servir les demandes HTTP.

Autres conseils

Vous pouvez installer APC et activer APC pour la mise en cache de ligne de commande. S'assurer! à APC désactivé pour votre serveur Web dans ce cas, sinon les deux se heurteront.

Ne vous attendez pas à aussi D'après APC, car la génération OPCode n'est généralement pas la partie qui ralentit votre script, envisagez de profilage vos scripts.

Éditer:
Ajoutez ces paramètres à votre fichier de configuration:
apc.enabled = 1
apc.enable_cli = 1

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top