<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Commentaires sur : Algorithme de Luhn – Implémentation Python</title>
	<atom:link href="http://blogs.media-tips.com/bernard.opic/2009/09/17/algorithme-de-luhn-implementation-python/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.media-tips.com/bernard.opic/2009/09/17/algorithme-de-luhn-implementation-python/</link>
	<description>En route vers un monde plus libre !</description>
	<lastBuildDate>Thu, 11 Mar 2010 01:14:13 +0100</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Par : dbrion1</title>
		<link>http://blogs.media-tips.com/bernard.opic/2009/09/17/algorithme-de-luhn-implementation-python/comment-page-1/#comment-1733</link>
		<dc:creator>dbrion1</dc:creator>
		<pubDate>Fri, 18 Sep 2009 15:06:13 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.media-tips.com/bernard.opic/?p=2253#comment-1733</guid>
		<description>D&#039;accord que c&#039;est marginal, mais c&#039;était 
pour la bonne forme (et éviter tout risque de pinaillage).

Et quand &quot;on&quot; a une boucle avec très peu d&#039;instructions dedans, il y a des gens - dont je ne suis pas - qui sont très contents de gagner 10% par ci par là..... ce qui semble réalisable en passant d&#039;une boucle avec while à une boucle dans un intervalle...

Les gains à espèrer viendraient donc d&#039;un appel &quot;à&quot; une dll/so ,( en simplifiant plus qu&#039;hâtivement); ceci est un reflexe que j&#039;espère naturel chez les riens, (chez les perliens, pythoniens , je n&#039;en sais ....rien) : dés que ça devient lent, au point d&#039;être gênant, ils réecrivent les bouts de code (une fois identifiés comme lents.... ce n&#039;est pas un mince problème, sans profileur ou .... sans bon sens) en C, C++, Fortran {dans ce cas -manipulation sur des caractères- et ce contexte (solutions déjà en C et C++ ce serait une erreur), suivant leurs goûts, leurs talents ou la nature du problème.... 
avec un gain d&#039;un facteur 50.... (je laisse un peu de marge pour l&#039;appel de fonction). 
 Ceci nécessite de gérer 2 codes dans des sources distincts.</description>
		<content:encoded><![CDATA[<p>D&#8217;accord que c&#8217;est marginal, mais c&#8217;était<br />
pour la bonne forme (et éviter tout risque de pinaillage).</p>
<p>Et quand &#8220;on&#8221; a une boucle avec très peu d&#8217;instructions dedans, il y a des gens &#8211; dont je ne suis pas &#8211; qui sont très contents de gagner 10% par ci par là&#8230;.. ce qui semble réalisable en passant d&#8217;une boucle avec while à une boucle dans un intervalle&#8230;</p>
<p>Les gains à espèrer viendraient donc d&#8217;un appel &#8220;à&#8221; une dll/so ,( en simplifiant plus qu&#8217;hâtivement); ceci est un reflexe que j&#8217;espère naturel chez les riens, (chez les perliens, pythoniens , je n&#8217;en sais &#8230;.rien) : dés que ça devient lent, au point d&#8217;être gênant, ils réecrivent les bouts de code (une fois identifiés comme lents&#8230;. ce n&#8217;est pas un mince problème, sans profileur ou &#8230;. sans bon sens) en C, C++, Fortran {dans ce cas -manipulation sur des caractères- et ce contexte (solutions déjà en C et C++ ce serait une erreur), suivant leurs goûts, leurs talents ou la nature du problème&#8230;.<br />
avec un gain d&#8217;un facteur 50&#8230;. (je laisse un peu de marge pour l&#8217;appel de fonction).<br />
 Ceci nécessite de gérer 2 codes dans des sources distincts.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Bernard</title>
		<link>http://blogs.media-tips.com/bernard.opic/2009/09/17/algorithme-de-luhn-implementation-python/comment-page-1/#comment-1732</link>
		<dc:creator>Bernard</dc:creator>
		<pubDate>Fri, 18 Sep 2009 14:24:52 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.media-tips.com/bernard.opic/?p=2253#comment-1732</guid>
		<description>@dbrion1: Je viens de faire le test en rajoutant le code que vous proposez après la dernière instruction « print » de la fonction « main ». 

J&#039;ai également fait l&#039;essai en remplaçant « while l&gt;0: » par « for i in range(1L,1000000L): ».

Le temps d&#039;exécution du code de gestion de la boucle cumulé avec celui de 1000000 décrémentations est respectivement de 0,30 secondes pour la version avec le « while » et de 0,25 secondes avec le « for ».

Dans les deux cas, c&#039;est tout à fait marginal.</description>
		<content:encoded><![CDATA[<p>@dbrion1: Je viens de faire le test en rajoutant le code que vous proposez après la dernière instruction « print » de la fonction « main ». </p>
<p>J&#8217;ai également fait l&#8217;essai en remplaçant « while l>0: » par « for i in range(1L,1000000L): ».</p>
<p>Le temps d&#8217;exécution du code de gestion de la boucle cumulé avec celui de 1000000 décrémentations est respectivement de 0,30 secondes pour la version avec le « while » et de 0,25 secondes avec le « for ».</p>
<p>Dans les deux cas, c&#8217;est tout à fait marginal.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : dbrion1</title>
		<link>http://blogs.media-tips.com/bernard.opic/2009/09/17/algorithme-de-luhn-implementation-python/comment-page-1/#comment-1731</link>
		<dc:creator>dbrion1</dc:creator>
		<pubDate>Fri, 18 Sep 2009 14:02:05 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.media-tips.com/bernard.opic/?p=2253#comment-1731</guid>
		<description>Votre mesure du temps d&#039;execution englobe celui de l&#039;execution d&#039;une boucle, qui peut pénaliser (indument dans ce cas) un langage (semi)interprété.

Pour retablir le sentiment d&#039;avoir été traité avec équité chez tous les utilisateurs de langage interpreté (en tous cas, ceux qui ont besoin d&#039;évaluation des temps) je propose de rajouter une seconde boucle presque vide de meme longueur.
 De toutes façon, ça peut être interessant de connaître ce temps et ne remet pas en cause la façon de mesurer le temps d&#039;execution d&#039;un algorithme ....

startvide = time.time()

    # début mesure du temps d&#039;exécution d&#039;une boucle vide

    nombre = 1000000L # l peut être confondu avec 1 -un- 
    while nombre &gt;0:
       nombre-=1 #la boucle vide, qui peut pénaliser 
      
finbouclevide = time.time()</description>
		<content:encoded><![CDATA[<p>Votre mesure du temps d&#8217;execution englobe celui de l&#8217;execution d&#8217;une boucle, qui peut pénaliser (indument dans ce cas) un langage (semi)interprété.</p>
<p>Pour retablir le sentiment d&#8217;avoir été traité avec équité chez tous les utilisateurs de langage interpreté (en tous cas, ceux qui ont besoin d&#8217;évaluation des temps) je propose de rajouter une seconde boucle presque vide de meme longueur.<br />
 De toutes façon, ça peut être interessant de connaître ce temps et ne remet pas en cause la façon de mesurer le temps d&#8217;execution d&#8217;un algorithme &#8230;.</p>
<p>startvide = time.time()</p>
<p>    # début mesure du temps d&#8217;exécution d&#8217;une boucle vide</p>
<p>    nombre = 1000000L # l peut être confondu avec 1 -un-<br />
    while nombre &gt;0:<br />
       nombre-=1 #la boucle vide, qui peut pénaliser </p>
<p>finbouclevide = time.time()</p>
]]></content:encoded>
	</item>
</channel>
</rss>
