<?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>iTeamWork &#187; Performance</title>
	<atom:link href="http://iteamwork.de/category/performance/feed" rel="self" type="application/rss+xml" />
	<link>http://iteamwork.de</link>
	<description>Coding Tipps</description>
	<lastBuildDate>Tue, 08 May 2012 21:11:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Wie man schnellen Code schreibt</title>
		<link>http://iteamwork.de/wie-man-schnellen-code-schreibt.html</link>
		<comments>http://iteamwork.de/wie-man-schnellen-code-schreibt.html#comments</comments>
		<pubDate>Tue, 05 Apr 2011 22:41:35 +0000</pubDate>
		<dc:creator>H.Grafe</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Programmierung]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=114</guid>
		<description><![CDATA[Ein Interessanter Artikel zum Thema wie man schnellen Code schreibt. Sehr zu empfehlen: How to write fast code]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fwie-man-schnellen-code-schreibt.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fwie-man-schnellen-code-schreibt.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Ein Interessanter Artikel zum Thema wie man schnellen Code schreibt. Sehr zu empfehlen: <a href="http://asserttrue.blogspot.com/2009/03/how-to-write-fast-code.html">How to write fast code</a></p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/wie-man-schnellen-code-schreibt.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] Javascript und CSS Dateien komprimieren</title>
		<link>http://iteamwork.de/javascript-und-css-dateien-komprimieren.html</link>
		<comments>http://iteamwork.de/javascript-und-css-dateien-komprimieren.html#comments</comments>
		<pubDate>Tue, 05 Aug 2008 10:44:39 +0000</pubDate>
		<dc:creator>H.Grafe</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP Snippets]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[komprimieren]]></category>
		<category><![CDATA[optimieren]]></category>
		<category><![CDATA[platz sparen]]></category>
		<category><![CDATA[stylesheets]]></category>
		<category><![CDATA[verkleinern]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=20</guid>
		<description><![CDATA[Relativ viel Performance kostet es, mehrere Javascript und/oder Stylesheet Dateien einzubinden. Zwar geht die Abarbeitung relativ fix dank keep-alive aber dennoch kostet es Zeit. Bestimmte Javascript Bibiotheken bestehen ja schonmal locker aus 10 Dateien. Daher kann es sinnvoll sein, mehrere Dateien in einer Zusammenzufassen. Weiterhin ist so die Möglichkeit gegeben, evtl noch etwas nachzubearbeiten um [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fjavascript-und-css-dateien-komprimieren.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fjavascript-und-css-dateien-komprimieren.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;hashtags=caching,css,gzip,javascript,komprimieren,optimieren,platz+sparen,stylesheets,verkleinern&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Relativ viel Performance kostet es, mehrere Javascript und/oder Stylesheet Dateien einzubinden. Zwar geht die Abarbeitung relativ fix dank keep-alive aber dennoch kostet es Zeit. Bestimmte Javascript Bibiotheken bestehen ja schonmal locker aus 10 Dateien.</p>
<p>Daher kann es sinnvoll sein, mehrere Dateien in einer Zusammenzufassen.</p>
<p>Weiterhin ist so die Möglichkeit gegeben, evtl noch etwas nachzubearbeiten um weitere Dateigröße einzusparen.</p>
<p>Besonders User mit langsammen Verbindungen würden dies dankbar annehmen.</p>
<p><span id="more-20"></span></p>
<p>Nehmen wir also an, wir nutzen folgende beiden Dateien:</p>
<blockquote><p>&lt;script src=&#8221;script/script1.js&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;<br />
&lt;script src=&#8221;script/script2.js&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;</p></blockquote>
<p>dann ersetzen wir das durch:</p>
<blockquote><p>&lt;script src=&#8221;javascript.php&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;</p></blockquote>
<p>Dieses müssen wir dann nur noch wie folgt anlegen:</p>
<blockquote><p>&lt;?php<br />
header(‘Content-type: application/javascript’); //Typ setzen<br />
//Dateien ausgeben<br />
require_once(’script/script1.js’);<br />
require_once(’script/script2.js’);<br />
?&gt;</p></blockquote>
<p>Das wars auch schon. Nun werden beide Dateien in einer ausgegeben. Dabei muss lediglich drauf geachtet werden das alles mit einem Semikolon abgeschlossen wird (auch die letzte Zeile der einzelnen Dateien!)</p>
<p>Der obrige Code kann noch weiter optimiert werden. Zuerst einmal könnten wir dem Browser sagen, das er die Script Datei Cachen soll, so muss sie lediglich einmal übertragen werden:</p>
<blockquote><p>header (&#8220;cache-control: must-revalidate; max-age: 2592000&#8243;);<br />
header (&#8220;expires: &#8221; . gmdate (&#8220;D, d M Y H:i:s&#8221;, time() + 2592000) . &#8221; GMT&#8221;);</p></blockquote>
<p>zweitens:<br />
es könnten alle Zeilenumbrüche entfernt , kommentare gefiltert und doppelte Leerzeichen durch einzelne ersetzt werden. Bei Dateien mit mehreren (tausend) Zeilen lässt sich so nochmal (ordentlich) Platz gespart werden:</p>
<blockquote><p>function verkleiner($data) {<br />
// Kommentare entfernen<br />
$data = preg_replace(‘!/\*[^*]*\*+([^/][^*]*\*+)*/!’, ”, $data);<br />
// Zeilenumbruch und Tab entfernen<br />
$data = str_replace(array(&#8220;\r\n&#8221;, &#8220;\r&#8221;, &#8220;\n&#8221;, &#8220;\t&#8221;), ”, $data);<br />
//Doppelte Leerzeichen entfernen<br />
$data = preg_replace(‘/\s\s+/’, ‘ ‘, $data);<br />
return $data;<br />
}</p></blockquote>
<p>und drittens können wir zusätzlich noch evtl verfügbare Komprimierungstechniken benutzen:</p>
<blockquote><p>header(‘Content-Length: ‘ . strlen($data));<br />
if (stripos($_SERVER["HTTP_ACCEPT_ENCODING"],‘x-gzip’) !== false) {<br />
header(&#8220;Content-encoding:x-gzip&#8221;);<br />
$data = gzencode($data);<br />
}<br />
elseif (stripos($_SERVER["HTTP_ACCEPT_ENCODING"],‘gzip’) !== false) {<br />
header(&#8220;Content-encoding:gzip&#8221;);<br />
$data = gzencode($data);<br />
}<br />
elseif (stripos($_SERVER["HTTP_ACCEPT_ENCODING"],‘deflate’) !== false) {<br />
header(&#8220;Content-encoding:deflate&#8221;);<br />
$data = gzdeflate($data);<br />
}</p></blockquote>
<p>Somit sieht die verkleiner funktion insgesammt wie folgt aus:</p>
<blockquote><p>function verkleiner($data) {<br />
// Kommentare entfernen<br />
$data = preg_replace(‘!/\*[^*]*\*+([^/][^*]*\*+)*/!’, ”, $data);<br />
// Zeilenumbruch und Tab entfernen<br />
$data = str_replace(array(&#8220;\r\n&#8221;, &#8220;\r&#8221;, &#8220;\n&#8221;, &#8220;\t&#8221;), ”, $data);<br />
//Doppelte Leerzeichen entfernen<br />
$data = preg_replace(‘/\s\s+/’, ‘ ‘, $data);<br />
header(‘Content-Length: ‘ . strlen($data));<br />
if (stripos($_SERVER["HTTP_ACCEPT_ENCODING"],‘x-gzip’) !== false) {<br />
header(&#8220;Content-encoding:x-gzip&#8221;);<br />
$data = gzencode($data);<br />
}<br />
elseif (stripos($_SERVER["HTTP_ACCEPT_ENCODING"],‘gzip’) !== false) {<br />
header(&#8220;Content-encoding:gzip&#8221;);<br />
$data = gzencode($data);<br />
}<br />
elseif (stripos($_SERVER["HTTP_ACCEPT_ENCODING"],‘deflate’) !== false) {<br />
header(&#8220;Content-encoding:deflate&#8221;);<br />
$data = gzdeflate($data);<br />
}<br />
return $data;<br />
}</p></blockquote>
<p>Jetzt müssen wir nur noch die Javascript Dateien anders einlesen so das wir sie bearbeiten können und das ganze sieht wie folgt aus:</p>
<blockquote><p>&lt;?php<br />
function verkleiner($data) {<br />
// Kommentare entfernen<br />
$data = preg_replace(‘!/\*[^*]*\*+([^/][^*]*\*+)*/!’, ”, $data);<br />
// Zeilenumbruch und Tab entfernen<br />
$data = str_replace(array(&#8220;\r\n&#8221;, &#8220;\r&#8221;, &#8220;\n&#8221;, &#8220;\t&#8221;), ”, $data);<br />
//Doppelte Leerzeichen entfernen<br />
$data = preg_replace(‘/\s\s+/’, ‘ ‘, $data);<br />
header(‘Content-Length: ‘ . strlen($data));<br />
if (stripos($_SERVER["HTTP_ACCEPT_ENCODING"],‘x-gzip’) !== false) {<br />
header(&#8220;Content-encoding:x-gzip&#8221;);<br />
$data = gzencode($data);<br />
}<br />
elseif (stripos($_SERVER["HTTP_ACCEPT_ENCODING"],‘gzip’) !== false) {<br />
header(&#8220;Content-encoding:gzip&#8221;);<br />
$data = gzencode($data);<br />
}<br />
elseif (stripos($_SERVER["HTTP_ACCEPT_ENCODING"],‘deflate’) !== false) {<br />
header(&#8220;Content-encoding:deflate&#8221;);<br />
$data = gzdeflate($data);<br />
}<br />
return $data;<br />
}<br />
header(‘Content-type: application/javascript’); //Typ setzen<br />
header (&#8220;cache-control: must-revalidate; max-age: 2592000&#8243;); //Caching<br />
header (&#8220;expires: &#8221; . gmdate (&#8220;D, d M Y H:i:s&#8221;, time() + 2592000) . &#8221; GMT&#8221;);<br />
$text=file_get_contents(’script/script1.js’);<br />
$text.=file_get_contents(’script/script2.js’);<br />
echo verkleiner($text);<br />
?&gt;</p></blockquote>
<p>Dies funktioniert natürlich auch mit CSS Dateien. HTML Seiten sollte man so nicht ausliefern da die Formatierung für bestimmte Elemente (z.B. pre) zerstört werden würde.<br />
Ich weise allerdings nochmal darauf hin, das die Javascript Dateien sauber geschrieben sein müssen und  auch die letzte Klasse in einer Datei mit einem Semikolon beendet werden muss!</p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/javascript-und-css-dateien-komprimieren.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] Schleifen im Performance Vergleich</title>
		<link>http://iteamwork.de/schleifen-vergleich.html</link>
		<comments>http://iteamwork.de/schleifen-vergleich.html#comments</comments>
		<pubDate>Wed, 04 Jun 2008 21:50:02 +0000</pubDate>
		<dc:creator>H.Grafe</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[do]]></category>
		<category><![CDATA[for]]></category>
		<category><![CDATA[schleifen]]></category>
		<category><![CDATA[vergleich]]></category>
		<category><![CDATA[while]]></category>

		<guid isPermaLink="false">http://iteamwork.de/schleifen-vergleich.html</guid>
		<description><![CDATA[Es gibt in PHP ja mehrere Schleifen. For, While, DoWhile und Foreach. Doch welche von diesen ist eigentlich am Perfomantesten wenn es darum geht einfach nur X Schleifendurchläufe zu erzeugen? Zuerst einmal muss erwähnt werden, das alle Schleifentypen natürlich ihre Berechtigung haben. Davon unabhängig prüfen wir einfach mal, welche am schnellsten X ( in unserem [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fschleifen-vergleich.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fschleifen-vergleich.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;hashtags=do,for,Performance,schleifen,vergleich,while&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">Es gibt in PHP ja mehrere Schleifen. For, While, DoWhile und Foreach. Doch welche von diesen ist eigentlich am Perfomantesten wenn es darum geht einfach nur X Schleifendurchläufe zu erzeugen?</p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
<p><span id="more-12"></span></p>
<p>Zuerst einmal muss erwähnt werden, das alle Schleifentypen natürlich ihre Berechtigung haben. Davon unabhängig prüfen wir einfach mal, welche am schnellsten X ( in unserem Fall 10.000.000) Durchläufe abgewickelt hat.</p>
<table border="1" width="500">
<tbody>
<tr>
<td></td>
<td>Server 1</td>
<td>Server 2</td>
</tr>
<tr>
<td>For</td>
<td>5,41 s</td>
<td>2,92 s</td>
</tr>
<tr>
<td>While</td>
<td>6,60 s</td>
<td>1,61 s</td>
</tr>
<tr>
<td>Do While</td>
<td>6,20 s</td>
<td>1,51</td>
</tr>
<tr>
<td>For Each</td>
<td>*</td>
<td>*</td>
</tr>
</tbody>
</table>
<p><span style="FONT-SIZE: 10px">Mittelwerte aus 5 Messungen; * = Test nicht möglich da nicht genug Speicher für ein Array mit 10000000 Elementen vorhanden war.</span></p>
<p><span style="FONT-SIZE: 14px">Wie man erkennt, kann man keine klare Aussage treffen welche Schleife am besten geeignet ist. Wie schon im vorherigen Test vom <a title="Pre-Inkrement gegen Post-Inkrement" href="http://iteamwork.de/preinkrement_gegen_postinkrement.html">Post und Preinkrement</a> scheint dies vom Server an sich abhängig zu sein.</span></p>
<p><span style="FONT-SIZE: 14px">Folgendes Script wurde verwendet:</span></p>
<blockquote><p>&lt;?php <br />
define(&#8220;ROUNDS&#8221;, 10000000);<br />
$i=0;</p>
<p>$start1 = microtime(true);<br />
for ($i=0; $i&lt;ROUNDS; $i++);<br />
$end1 = microtime(true);<br />
$i=0;</p>
<p>$start2 = microtime(true);<br />
while ($i&lt;ROUNDS) $i++;<br />
$end2 = microtime(true);<br />
$i=0;</p>
<p>$start3 = microtime(true);<br />
do {<br />
$i++;<br />
}while($i&lt;ROUNDS);<br />
$end3 = microtime(true);</p>
<p>echo &#8220;for: &#8220;.round($end1 &#8211; $start1, 3).&#8221; Sekunden\n&#8221;;<br />
echo &#8220;while: &#8220;.round($end2 &#8211; $start2, 3).&#8221; Sekunden\n&#8221;;<br />
echo &#8220;dowhile: &#8220;.round($end3 &#8211; $start3, 3).&#8221; Sekunden\n&#8221;; <br />
?&gt;<br />
<blockquote>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/schleifen-vergleich.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] Pre-Inkrement gegen Post-Inkrement (Performance Vergleich)</title>
		<link>http://iteamwork.de/preinkrement_gegen_postinkrement.html</link>
		<comments>http://iteamwork.de/preinkrement_gegen_postinkrement.html#comments</comments>
		<pubDate>Sat, 31 May 2008 12:45:53 +0000</pubDate>
		<dc:creator>H.Grafe</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[postdekrement]]></category>
		<category><![CDATA[postinkrement]]></category>
		<category><![CDATA[predekrement]]></category>
		<category><![CDATA[preinkrement]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=11</guid>
		<description><![CDATA[In diversen Blog's ist zu lesen, das $i++ bedeutend schneller ist als ++$i. In henug anderen ist zu lesen dass es genau andersherum ist. Grund genug, dieses selbst einmal auszutesten.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fpreinkrement_gegen_postinkrement.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fpreinkrement_gegen_postinkrement.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;hashtags=Performance,PHP,postdekrement,postinkrement,predekrement,preinkrement&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>In diversen Blog&#8217;s ist zu lesen, das $i++ bedeutend schneller ist als ++$i. In genug anderen ist zu lesen dass es genau andersherum ist. Grund genug, dieses selbst einmal auszutesten.<br />
<span id="more-11"></span><br />
Dazu wurde folgendes Skript benutzt:</p>
<blockquote><p>$start1 = microtime(true);<br />
while ($i++&lt;$rounds);<br />
$end1 = microtime(true);</p>
<p>$i=0;</p>
<p>$start2 = microtime(true);<br />
while (++$i&lt;$rounds);<br />
$end2 = microtime(true);</p></blockquote>
<p>Wobei die Anzahl der Erhöhungen sowohl mit 10.000.000 als auch mit 100.000.000 Durchläufen getestet wurde. Um ein vernünftiges Ergebnis zu erzielen haben wir den Test auch gleich auf drei Servern durchgeführt.</p>
<p>Und hier ist da Ergebnis:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="102" valign="top"></td>
<td width="102" valign="top">Server 1 10.000.000 Durchläufe</td>
<td width="102" valign="top">Server 1 100.000.000 Durchläufe</td>
<td width="102" valign="top">Server 2 10.000.000 Durchläufe</td>
<td width="102" valign="top">Server 3 10.000.000 Durchläufe</td>
<td width="102" valign="top">Server 3 100.000.000 Durchläufe</td>
</tr>
<tr>
<td width="102" valign="top">$i++</td>
<td width="102" valign="top">2,205 s</td>
<td width="102" valign="top">20,081 s</td>
<td width="102" valign="top">2,461 s</td>
<td width="102" valign="top">1,708 s</td>
<td width="102" valign="top">9,444 s</td>
</tr>
<tr>
<td width="102" valign="top">++$i</td>
<td width="102" valign="top">2,549 s</td>
<td width="102" valign="top">27,444 s</td>
<td width="102" valign="top">1,250 s</td>
<td width="102" valign="top">0,904 s</td>
<td width="102" valign="top">9,002 s</td>
</tr>
</tbody>
</table>
<p>(Mittelwerte aus jeweils 3 Testläufen) Getestet wurde auf jedem Server mit der gleichen PHP Version.</p>
<p>Wie man erkennt, ist $i++ schneller. ++$i aber auch. Man kann also keine allgemeine Aussage darüber treffen, welches die schnellere Variante ist.</p>
<p>Dies <span style="text-decoration: underline;">könnte</span> daran liegen, dass die Compiler den Source Code unterschiedlich optimieren.</p>
<p>In einigen anderen Blogs wird noch darauf hingewiesen das $i&minus;&minus; bzw &minus;&minus;$i schneller bearbeitet wird. Dies haben wir mit folgendem Script ebenfalls gleich getestet:</p>
<blockquote><p>$i=$rounds;<br />
$start3 = microtime(true);<br />
while ($i&minus;&minus;&gt;0);<br />
$end3 = microtime(true);</p>
<p>$i=$rounds;</p>
<p>$start4 = microtime(true);<br />
while (&minus;&minus;$i&gt;0);<br />
$end4 = microtime(true);</p></blockquote>
<p>Ergebnis:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="102" valign="top"></td>
<td width="102" valign="top">Server 1 10.000.000 Durchläufe</td>
<td width="102" valign="top">Server 1 100.000.000 Durchläufe</td>
<td width="102" valign="top">Server 2 10.000.000 Durchläufe</td>
<td width="102" valign="top">Server 3 10.000.000 Durchläufe</td>
<td width="102" valign="top">Server 3 100.000.000 Durchläufe</td>
</tr>
<tr>
<td width="102" valign="top">$i&minus;&minus;</td>
<td width="102" valign="top">2,325 s</td>
<td width="102" valign="top">23,052 s</td>
<td width="102" valign="top">1,047 s</td>
<td width="102" valign="top">0,830 s</td>
<td width="102" valign="top">8,382 s</td>
</tr>
<tr>
<td width="102" valign="top">&minus;&minus;$i</td>
<td width="102" valign="top">2,159 s</td>
<td width="102" valign="top">24,776 s</td>
<td width="102" valign="top">1,179 s</td>
<td width="102" valign="top">0,900 s</td>
<td width="102" valign="top">8,987 s</td>
</tr>
</tbody>
</table>
<p>(Mittelwerte aus jeweils 3 Testläufen) Getestet wurde auf jedem Server mit der gleichen PHP Version.</p>
<p>Tatsächlich ist die Dekrement Variante schneller als die Inkrement Variante.</p>
<p>Hier noch einmal das ganze Skript:</p>
<blockquote><p>&lt;?php<br />
$rounds = 100000000;<br />
$i=0;</p>
<p>$start1 = microtime(true);<br />
while ($i++&lt;$rounds);<br />
$end1 = microtime(true);</p>
<p>$i=0;</p>
<p>$start2 = microtime(true);<br />
while (++$i&lt;$rounds);<br />
$end2 = microtime(true);</p>
<p>$i=$rounds;</p>
<p>$start3 = microtime(true);<br />
while ($i&minus;&minus;&gt;0);<br />
$end3 = microtime(true);</p>
<p>$i=$rounds;</p>
<p>$start4 = microtime(true);<br />
while (&minus;&minus;$i&gt;0);<br />
$end4 = microtime(true);</p>
<p>echo &#8220;\$i++: &#8220;.round($end1 &#8211; $start1, 3).&#8221;Sekunden\n&#8221;;<br />
echo &#8220;++\$i: &#8220;.round($end2 &#8211; $start2, 3).&#8221;Sekunden\n&#8221;;<br />
echo &#8220;\$i&minus;&minus; : &#8220;.round($end3 &#8211; $start3, 3).&#8221;Sekunden\n&#8221;;<br />
echo &#8220;&minus;&minus;\$i: &#8220;.round($end4 &#8211; $start4, 3).&#8221;Sekunden\n&#8221;;</p>
<p>?&gt;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/preinkrement_gegen_postinkrement.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

