J'ai écrit un article pour php | architect sur le même problème de bouclage en PHP. Fondamentalement, les benchmarks montrent, qu'il n'y a pas d'impact significatif de la surcharge en boucle ... même en utilisant mon extension de plage numérique paresseux. IIRC, foreach est 2.9x plus lent qu'une boucle for, une fois que vous excluez la mémoire et les coûts des fonctions du générateur. Si le contenu de votre boucle est inférieur à 2,9 fois la charge de la boucle, vous pouvez alors reconsidérer ce que vous faites.
En outre, si vous cherchez des performances de boucle brutes dans une langue, PHP devrait être sur votre liste des derniers choix absolus. Il est interprété et, séparément, pas bien adapté pour les opérations de longue durée.
La plupart des codeurs PHP gaspillent d'innombrables cycles de concaténation de chaînes. Cela parle aux avertissements d'optimisation prématurés. Je parie que je peux doubler votre performance simplement en ajoutant des virgules à vos déclarations "echo".
Affirmez votre code avec XDebug ou quelque chose. Trouvez votre réel goulots d'étranglement. Looping n'est-ce pas. Croyez-moi. Ça ne l'est jamais.
presque certainement négligeable par rapport à ce qui est dans le corps de la boucle .... –
pas c'est question n'est pas intéressante et valable d'un point de vue théorique, mais Pratique, toute différence de performance que vous remarquerez entre eux ne sera pas la cause première d'un ralentissement. –
D'un autre côté, rendre cette langue agnostique rend un peu difficile à répondre à cause de la façon différente pour et pour chaque travail dans différentes langues. –