<?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 : Problème de concurrence avec SimpleDateFormat</title>
	<atom:link href="http://www.java-freelance.fr/java/concurrence-simpledateformat/feed" rel="self" type="application/rss+xml" />
	<link>http://www.java-freelance.fr/java/concurrence-simpledateformat</link>
	<description>Du java et du freelance</description>
	<lastBuildDate>Mon, 16 Jan 2012 13:09:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Par : DDP</title>
		<link>http://www.java-freelance.fr/java/concurrence-simpledateformat/comment-page-1#comment-3258</link>
		<dc:creator>DDP</dc:creator>
		<pubDate>Thu, 20 Jan 2011 14:29:03 +0000</pubDate>
		<guid isPermaLink="false">http://java-freelance.fr/?p=455#comment-3258</guid>
		<description>Pour moi, le mieux est d&#039;initialiser toutes les dates en XML</description>
		<content:encoded><![CDATA[<p>Pour moi, le mieux est d&#8217;initialiser toutes les dates en XML</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Dominique De Vito</title>
		<link>http://www.java-freelance.fr/java/concurrence-simpledateformat/comment-page-1#comment-831</link>
		<dc:creator>Dominique De Vito</dc:creator>
		<pubDate>Mon, 13 Sep 2010 16:36:40 +0000</pubDate>
		<guid isPermaLink="false">http://java-freelance.fr/?p=455#comment-831</guid>
		<description>Je viens de m&#039;amuser à comparer :
(a) un test de perf avec SimpleDateFormat protégé (non pas par &quot;synchronized&quot;) mais par un ReentrantLock
(b) un test de perf avec FastDateFormat.

J&#039;ai créé des tests simples, mais en faisant quand même un peu attention au fait de &quot;chauffer&quot; la JVM (java version &quot;1.6.0_21&quot;)

Et bien, FastDateFormat n&#039;est pas si rapide que cela.

Le test (a) est plus rapide que (b)...</description>
		<content:encoded><![CDATA[<p>Je viens de m&#8217;amuser à comparer :<br />
(a) un test de perf avec SimpleDateFormat protégé (non pas par &laquo;&nbsp;synchronized&nbsp;&raquo;) mais par un ReentrantLock<br />
(b) un test de perf avec FastDateFormat.</p>
<p>J&#8217;ai créé des tests simples, mais en faisant quand même un peu attention au fait de &laquo;&nbsp;chauffer&nbsp;&raquo; la JVM (java version &laquo;&nbsp;1.6.0_21&#8243;)</p>
<p>Et bien, FastDateFormat n&#8217;est pas si rapide que cela.</p>
<p>Le test (a) est plus rapide que (b)&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Jerome Baumgarten</title>
		<link>http://www.java-freelance.fr/java/concurrence-simpledateformat/comment-page-1#comment-163</link>
		<dc:creator>Jerome Baumgarten</dc:creator>
		<pubDate>Wed, 31 Mar 2010 17:41:06 +0000</pubDate>
		<guid isPermaLink="false">http://java-freelance.fr/?p=455#comment-163</guid>
		<description>Comme David, je conseille fortement JodaTime, d&#039;autant plus que JodaTime a servi de base a la JSR 310 (http://jcp.org/en/jsr/detail?id=310) dont l&#039;un des specs leaders n&#039;est autre que Stephen Colebourne, le createur de JodaTime. Avec JodaTime on n&#039;a pas de probleme de concurrence : DateTimeFormat is thread-safe and immutable, and the formatters it returns are as well. De plus DateTimeFormat utilise un cache en interne pour ne pas avoir a construire un DateTimeFormatter a chaque demande.</description>
		<content:encoded><![CDATA[<p>Comme David, je conseille fortement JodaTime, d&#8217;autant plus que JodaTime a servi de base a la JSR 310 (<a href="http://jcp.org/en/jsr/detail?id=310" rel="nofollow">http://jcp.org/en/jsr/detail?id=310</a>) dont l&#8217;un des specs leaders n&#8217;est autre que Stephen Colebourne, le createur de JodaTime. Avec JodaTime on n&#8217;a pas de probleme de concurrence : DateTimeFormat is thread-safe and immutable, and the formatters it returns are as well. De plus DateTimeFormat utilise un cache en interne pour ne pas avoir a construire un DateTimeFormatter a chaque demande.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : David Gageot</title>
		<link>http://www.java-freelance.fr/java/concurrence-simpledateformat/comment-page-1#comment-160</link>
		<dc:creator>David Gageot</dc:creator>
		<pubDate>Sun, 28 Mar 2010 00:49:17 +0000</pubDate>
		<guid isPermaLink="false">http://java-freelance.fr/?p=455#comment-160</guid>
		<description>La création d&#039;un DateFormat à chaque formatage de date est un dans le top 10 des problèmes de performance les plus courants. C&#039;est incroyable de voir que la plupart des développeurs n&#039;ont aucune idée du coût de ce type d&#039;opération. Du code faisant plusieurs transformations/formatage de dates peut vite devenir extrêmement lent.

Pour moi, un DateFormat threadsafe en variable statique est la meilleure solution. Clair, rapide, sûr. Seulement, il faut chercher ailleurs que dans le JDK. Par exemple dans la librairie JodaTime.</description>
		<content:encoded><![CDATA[<p>La création d&#8217;un DateFormat à chaque formatage de date est un dans le top 10 des problèmes de performance les plus courants. C&#8217;est incroyable de voir que la plupart des développeurs n&#8217;ont aucune idée du coût de ce type d&#8217;opération. Du code faisant plusieurs transformations/formatage de dates peut vite devenir extrêmement lent.</p>
<p>Pour moi, un DateFormat threadsafe en variable statique est la meilleure solution. Clair, rapide, sûr. Seulement, il faut chercher ailleurs que dans le JDK. Par exemple dans la librairie JodaTime.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Mathilde</title>
		<link>http://www.java-freelance.fr/java/concurrence-simpledateformat/comment-page-1#comment-155</link>
		<dc:creator>Mathilde</dc:creator>
		<pubDate>Mon, 22 Mar 2010 16:19:07 +0000</pubDate>
		<guid isPermaLink="false">http://java-freelance.fr/?p=455#comment-155</guid>
		<description>C&#039;est un peu couteux, du justement au calendar.

Mais je pense également que dans la plupart des cas c&#039;est effectivement prématuré ! 

Il y a énormément de code sur Internet avec le date format en static :(</description>
		<content:encoded><![CDATA[<p>C&#8217;est un peu couteux, du justement au calendar.</p>
<p>Mais je pense également que dans la plupart des cas c&#8217;est effectivement prématuré ! </p>
<p>Il y a énormément de code sur Internet avec le date format en static <img src='http://www.java-freelance.fr/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Sylvain V.</title>
		<link>http://www.java-freelance.fr/java/concurrence-simpledateformat/comment-page-1#comment-132</link>
		<dc:creator>Sylvain V.</dc:creator>
		<pubDate>Wed, 17 Mar 2010 15:41:45 +0000</pubDate>
		<guid isPermaLink="false">http://java-freelance.fr/?p=455#comment-132</guid>
		<description>
Effectivement, il faut parfois se méfier des classes du frameworks... A cause (ou grace) aux serveurs d&#039;application, les développeur oublient facilement qu&#039;ils sont de facto dans un environnement multithreadé.

Note : sur http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html

il est bien indiqué :

« Date formats are not synchronized. It is recommended to create separate format instances for each thread. If multiple threads access a format concurrently, it must be synchronized externally. »

…la question étant plutôt : quel est le coût de création d’un SimpleDateFormat et est-il appelé très régulièrement ?

Il me semble que le précalculer en static « par défaut » rentre dans la « Premature optimization ». Qu&#039;en pensez-vous ?</description>
		<content:encoded><![CDATA[<p>Effectivement, il faut parfois se méfier des classes du frameworks&#8230; A cause (ou grace) aux serveurs d&#8217;application, les développeur oublient facilement qu&#8217;ils sont de facto dans un environnement multithreadé.</p>
<p>Note : sur <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html" rel="nofollow">http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html</a></p>
<p>il est bien indiqué :</p>
<p>« Date formats are not synchronized. It is recommended to create separate format instances for each thread. If multiple threads access a format concurrently, it must be synchronized externally. »</p>
<p>…la question étant plutôt : quel est le coût de création d’un SimpleDateFormat et est-il appelé très régulièrement ?</p>
<p>Il me semble que le précalculer en static « par défaut » rentre dans la « Premature optimization ». Qu&#8217;en pensez-vous ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Francois MAROT</title>
		<link>http://www.java-freelance.fr/java/concurrence-simpledateformat/comment-page-1#comment-129</link>
		<dc:creator>Francois MAROT</dc:creator>
		<pubDate>Tue, 16 Mar 2010 21:17:54 +0000</pubDate>
		<guid isPermaLink="false">http://java-freelance.fr/?p=455#comment-129</guid>
		<description>Excellent, je me suis posé la même question aujourd&#039;hui à propos des SimpleDateFormat ! Mais pris par le temps, j&#039;ai opté pour la solution la plus simple :/
Merci pour les infos !</description>
		<content:encoded><![CDATA[<p>Excellent, je me suis posé la même question aujourd&#8217;hui à propos des SimpleDateFormat ! Mais pris par le temps, j&#8217;ai opté pour la solution la plus simple :/<br />
Merci pour les infos !</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Jérôme Ruillier</title>
		<link>http://www.java-freelance.fr/java/concurrence-simpledateformat/comment-page-1#comment-128</link>
		<dc:creator>Jérôme Ruillier</dc:creator>
		<pubDate>Tue, 16 Mar 2010 16:43:41 +0000</pubDate>
		<guid isPermaLink="false">http://java-freelance.fr/?p=455#comment-128</guid>
		<description>Merci pour cet article !

Grâce a vous je découvre ThreadLocal qui me sera probablement bien utile à l&#039;avenir !</description>
		<content:encoded><![CDATA[<p>Merci pour cet article !</p>
<p>Grâce a vous je découvre ThreadLocal qui me sera probablement bien utile à l&#8217;avenir !</p>
]]></content:encoded>
	</item>
</channel>
</rss>

