<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Totalement Geek ! &#187; benchmark</title>
	<atom:link href="http://totalement.geek.oupas.fr/article/tag/benchmark/feed" rel="self" type="application/rss+xml" />
	<link>http://totalement.geek.oupas.fr</link>
	<description>... ou pas.</description>
	<lastBuildDate>Tue, 29 Nov 2011 09:54:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Symfony: bench des ORM Propel et Doctrine</title>
		<link>http://totalement.geek.oupas.fr/article/2009/02/14/symfony-bench-des-orm-propel-et-doctrine</link>
		<comments>http://totalement.geek.oupas.fr/article/2009/02/14/symfony-bench-des-orm-propel-et-doctrine#comments</comments>
		<pubDate>Sat, 14 Feb 2009 14:01:30 +0000</pubDate>
		<dc:creator>Renaud</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[planet libre]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://totalement.geek.oupas.fr/?p=150</guid>
		<description><![CDATA[Symfony, pour ceux qui ne connaissent pas encore, est un framework PHP puissant et français, développé par Sensio Labs. Contrairement à d&#8217;autres framework qui réinventent la roue, symfony s&#8217;appuie sur des librairies externes qui ont fait leur preuve. C&#8217;est précisément le cas pour l&#8217;ORM. Dans ses premières versions, symfony n&#8217;intégrait que Propel et le changement [...]]]></description>
			<content:encoded><![CDATA[<p>Symfony, pour ceux qui ne connaissent pas encore, est un framework PHP puissant et français, développé par Sensio Labs.</p>
<p>Contrairement à d&#8217;autres framework qui réinventent la roue, symfony s&#8217;appuie sur des librairies externes qui ont fait leur preuve. C&#8217;est précisément le cas pour l&#8217;<a href="http://fr.wikipedia.org/wiki/Mapping_objet-relationnel" target="_blank">ORM</a>.</p>
<p>Dans ses premières versions, symfony n&#8217;intégrait que <a href="http://propel.phpdb.org/" target="_blank">Propel</a> et le changement d&#8217;ORM était relativement difficile, malgré l&#8217;existence d&#8217;un plugin <a href="http://www.doctrine-project.org/" target="_blank">Doctrine</a>, car certains outils du framework, notament l&#8217;Admin Generator, s&#8217;appuyait uniquement sur Propel.</p>
<p>Depuis la version 1.1, Propel est un plugin et ne fait plus parti du core de symfony. Depuis la version 1.2, l&#8217;Admin Generator peut utiliser indifféremment Propel ou Doctrine. C&#8217;est une très bonne nouvelle pour la communauté. Du coup, chaque développeur peut choisir l&#8217;ORM qui lui convient le mieux&#8230; mais aussi se poser la question fatidique &laquo;&nbsp;Quel est le meilleur ORM ?&nbsp;&raquo;</p>
<p>Cette question, je me la suis, moi-même posée.</p>
<p>Pour y répondre, il faut prendre en compte plusieurs points (liste non exhaustive et non ordonnée):</p>
<ul>
<li>la facilité d&#8217;apprentissage</li>
<li>la rapidité de développement</li>
<li>les capacités offertes par l&#8217;ORM (vs les besoins qu&#8217;on a)</li>
<li>la rapidité d&#8217;exécution</li>
</ul>
<p>Et c&#8217;est sur ce dernier point (pas forcément le plus important) que je suis me suis penché car j&#8217;ai lu à divers endroits que Doctrine était sacrément plus lent que Propel.</p>
<p>J&#8217;ai donc commencé à faire quelques benchmark. Ou plutôt une &laquo;&nbsp;plateforme&nbsp;&raquo; de benchmark qui n&#8217;attend que vous pour être complétée. En effet:</p>
<ul>
<li>étant débutant avec symfony, propel et doctrine, je ne peux garantir que tout soit bien optimisé, j&#8217;ai donc besoin de l&#8217;aide de demi-dieu de symfony et/ou propel et/ou doctrine</li>
<li>à plusieurs nous arriverons mieux à faire un benchmark suffisamment complet et représentatif du type de requête utilisé dans un site web.</li>
</ul>
<p>J&#8217;ai donc publié le code sur googlecode et l&#8217;accès au svn vous sera ouvert sur simple demande (mail/msn/gtalk de contact en haut à droite de ce blog).</p>
<p>url du projet: <a href="http://benchsymfonyorm.googlecode.com" target="_blank">http://benchsymfonyorm.googlecode.com</a></p>
<p>Le projet contient un répertoire pour chaque ORM avec, à l&#8217;intérieur, un projet symfony.</p>
<p>J&#8217;ai séparé chaque ORM dans un projet différent car l&#8217;utilisation de Propel et Doctrine pourrait fausser les résultats.</p>
<p>Les benchs sont tous dans des task afin que le serveur web n&#8217;influe pas sur les résultats.</p>
<p>Les remarques <strong>constructives</strong> sont évidemment les bienvenues. Les trolls velus totalement interdits et carrément supprimés des commentaires s&#8217;ils montrent le bout de leur nez.</p>
<p>Comme dit plus haut, je ne prétends pas avoir faire un système parfait et les améliorations sont donc les bienvenues&#8230; en fait, c&#8217;est un peu le but de ce projet :)</p>
]]></content:encoded>
			<wfw:commentRss>http://totalement.geek.oupas.fr/article/2009/02/14/symfony-bench-des-orm-propel-et-doctrine/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

