C'est en substance la conclusion que je me suis fait quand j'ai refait quelques tests de mon bench sur les ORM sans utiliser xdebug, et surtout sans activer xdebug dans le php.ini. En effet code34, l'auteur de PhpMyObject, avait trouvé des résultats complètement incohérents par rapport à ce que j'avais trouvé. Du style, il avait une très faible différence entre jDao et PMO sur certains tests, donc avec un facteur proche de 1, là où j'avais un facteur d'au moins 2 (c'est à dire, PMO deux fois plus lent que jDao). J'ai cru au début que le fait d'avoir un processeur à deux coeurs pouvait modifier ces résultats (sans trop y croire, vu que PHP et le multithreading, c'est pas ça). J'ai donc relancé quelques tests sur une machine avec un core-duo, en me fiant juste au calcul avec microtime(), et sans xdebug (il n'était pas installé). J'ai obtenu des résultats cohérents avec ceux de code34. J'ai alors installé et activé xdebug. J'ai relancé, en me fiant toujours juste au calcul avec microtime(). Et là j'ai obtenu des résultats similaires aux miens.

Bref, je crois que xdebug fausse complètement les résultats quand il s'agit de comparer les performances de deux choses.

Je publierais des nouveaux résultats plus tard, sans xdebug activé. (Du coup, Doctrine semble beaucoup plus performant ).