context:
Je travaille actuellement sur un générateur de documentation pour me permettre de remplacer le veillisant et l'ultra lent phpDocumentor qui me pose beaucoup de problème pour la réalisation d'un bot pour MediaWiki.
Le projet contient actuellement une 200taine classes et utilise l'évaluation paresseuse à outrance. Le première phase consiste à analyser la décomposition du code retourné par la fonction token_get_all().
La boucle qui tourne sur ces tokens instancie zéro ou quelques classes et arrive à une consomation mémoire inférieur à 6Mo durant l'analyse d'un script PHP de 1200 lignes.
Arrivé à la 1595ème itérations, mon PHP/FastCGI se vautre par une fatal erreur + message windows.
Si j'enlève le contenu de la boucle (pas d'instanciation donc) le script ne plante pas.
J'ai testé en PHP5.2.2 et PHP5.2.6 et j'utilise le serveur Web local français ZMWS.
Je suppose (pas encore testé) qu'avec un serveur Apache+ModulePHP, le truc devrait tenir, mais du coup : mon projet ne serait pas portable.
Le script : http://dstyledoc.svn.sourceforge.net...hp?view=markup Fonction : DstyleDoc::analyse_file()
Partager