Cela dépend vraiment de la façon dont vous écrivez les données. Si vous utilisez DOM, pensez à XMLWriter. C'est un peu plus rapide et plus simple.
Si vous générez votre sortie XML, assurez-vous de ne pas ajouter de chaînes inutilement. Par exemple:
echo "<tag>" . $data . "</tag>"; // this is slower
echo '<tag>', $data, '</tag>'; // this is faster
L'opérateur de virgule ne crée pas de nouvelles chaînes. À considérer également, les chaînes entre guillemets simples sont légèrement plus rapides que les guillemets doubles. Il n'y a pas de substitution de variable à rechercher. Normalement, la différence est minime, mais dans une boucle serrée, vous pouvez certainement le voir. En fonction de votre source de données et de la manière dont vous construisez votre fichier XML, votre traitement peut être le goulot d'étranglement. Essayez de profiler avec xdebug et de voir où sont vos goulots d'étranglement.
Je ne suis pas sûr de comprendre. Vous dites qu'imprimer '$ xml' sur la page prend plus de temps que le script à exécuter? C'est comme dire que PHP prend plus de temps que PHP pour fonctionner. Peut-être que vous voulez dire le temps qu'il faut pour télécharger le contenu de la page? –
désolé laissez-moi le mot un peu mieux .. il semble que menant à l'endroit où j'exécuterait echo ($ xml); s'exécute en une seconde, tout en faisant écho à l'élément $ xml réel stalls sur le navigateur et prend la majorité du temps. – Petrogad
Eh bien, comme vous l'avez dit, votre navigateur télécharge 1,8 Mo de données, ce qui peut prendre beaucoup de temps. Avez-vous envisagé de gzipper vos pages avec apache et mod_deflate? –