<?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>Php оптимизация</title>
	<atom:link href="http://php.mycode.ws/feed/" rel="self" type="application/rss+xml" />
	<link>http://php.mycode.ws</link>
	<description>Php оптимизация то что надо знать</description>
	<lastBuildDate>Wed, 22 Sep 2010 08:00:44 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>require_once и include_once</title>
		<link>http://php.mycode.ws/require_once-i-include_once/306/</link>
		<comments>http://php.mycode.ws/require_once-i-include_once/306/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 07:45:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://php.mycode.ws/?p=306</guid>
		<description><![CDATA[По возможности не используйте require_once(); или include_once(); неоднократно по отношению к одному и тому же файлу. При отсутствии какого-либо эффекта, попусту тратится время на обработку повторного запроса. insight-it.ru]]></description>
			<content:encoded><![CDATA[<p>По возможности не используйте <strong>require_once()</strong>; или <strong>include_once()</strong>; неоднократно по отношению к одному и тому же файлу. При отсутствии какого-либо эффекта, попусту тратится время на обработку повторного запроса.<span id="more-306"></span></p>
<p style="text-align: right;"><a href="http://www.insight-it.ru/" target="_blank">insight-it.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://php.mycode.ws/require_once-i-include_once/306/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>$array[text]</title>
		<link>http://php.mycode.ws/arraytext/286/</link>
		<comments>http://php.mycode.ws/arraytext/286/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 07:44:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://php.mycode.ws/?p=286</guid>
		<description><![CDATA[Конечно же фраза $array[text]; интерпритируется практически точно так же, как и $array['text'];, но зачем выполнять лишнее преобразование из необъявленной константы в строку, проверять, что такой константы все же не существует, выводить сообщение типа E_NOTICE, если можно всего этого не делать? &#8230; <a href="http://php.mycode.ws/arraytext/286/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Конечно же фраза $array[text];  интерпритируется практически точно так же, как и $array['text'];, но зачем выполнять лишнее преобразование из необъявленной константы в строку, проверять, что такой константы все же не существует, выводить <span id="more-286"></span>сообщение типа <strong>E_NOTICE</strong>, если можно всего этого не делать?</p>
<p style="text-align: right;"><a href="http://www.insight-it.ru/" target="_blank">insight-it.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://php.mycode.ws/arraytext/286/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>global VS return</title>
		<link>http://php.mycode.ws/global-vs-return/266/</link>
		<comments>http://php.mycode.ws/global-vs-return/266/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 07:42:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://php.mycode.ws/?p=266</guid>
		<description><![CDATA[При возвращении значения переменной из функции при помощи global выполняется на порядок больше действий, чем при классическом return. insight-it.ru]]></description>
			<content:encoded><![CDATA[<p>При возвращении значения переменной из функции при помощи <strong>global </strong>выполняется на порядок больше действий, чем при классическом <strong>return</strong>.<span id="more-266"></span></p>
<p style="text-align: right;"><a href="http://www.insight-it.ru/" target="_blank">insight-it.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://php.mycode.ws/global-vs-return/266/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Дробные числа</title>
		<link>http://php.mycode.ws/drobnyie-chisla/236/</link>
		<comments>http://php.mycode.ws/drobnyie-chisla/236/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 07:41:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://php.mycode.ws/?p=236</guid>
		<description><![CDATA[Угадайте, что делает интерпретатор при виде надписи 1/2? Правильно: делит 1 на 2. Зачем лишний раз утруждать его, когда можно написать просто половину — 0.5. insight-it.ru]]></description>
			<content:encoded><![CDATA[<p>Угадайте, что делает интерпретатор при виде надписи 1/2? Правильно: делит 1 на 2. Зачем лишний раз утруждать его, когда можно написать просто половину — 0.5.<span id="more-236"></span></p>
<p style="text-align: right;"><a href="http://www.insight-it.ru/" target="_blank">insight-it.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://php.mycode.ws/drobnyie-chisla/236/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Проверка попадания длины строки в диапазон</title>
		<link>http://php.mycode.ws/dlinyi-stroki-v-diapazon/216/</link>
		<comments>http://php.mycode.ws/dlinyi-stroki-v-diapazon/216/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 07:40:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://php.mycode.ws/?p=216</guid>
		<description><![CDATA[Самым очевидным способом проверить попадает ли длина строки в какой-либо диапазон является использование функции strlen(); и сравнение полученного результата с фиксированными значениями, но зачем выполнять лишний вызов функции, если можно воспользоваться услугами конструкцией языка PHP isset(); для определения наличия в &#8230; <a href="http://php.mycode.ws/dlinyi-stroki-v-diapazon/216/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Самым очевидным способом проверить попадает ли длина строки в какой-либо диапазон является использование функции strlen(); и сравнение полученного результата с фиксированными значениями, но зачем выполнять лишний вызов <span id="more-216"></span>функции, если можно воспользоваться услугами конструкцией языка PHP isset(); для определения наличия в строке определенных символов. if(isset($str{5})) { &#8230; } приведет к абсолютно тем же результатам, что и if(strlen($str)&gt;4){ &#8230; }</p>
<p style="text-align: right;"><a href="http://www.insight-it.ru/" target="_blank">insight-it.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://php.mycode.ws/dlinyi-stroki-v-diapazon/216/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Соответствие типов данных</title>
		<link>http://php.mycode.ws/sootvetstvie-tipov-dannyih/186/</link>
		<comments>http://php.mycode.ws/sootvetstvie-tipov-dannyih/186/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 07:38:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://php.mycode.ws/?p=186</guid>
		<description><![CDATA[Вместо условия if($variableOne == $variableTwo) { &#8230; } можно написать if($variableOne === $variableTwo) { &#8230; }, что избавит от проверки на соответствие типов данных и приведения их друг к другу, в некоторых случаях эти действия эти случаях эти действия конечно &#8230; <a href="http://php.mycode.ws/sootvetstvie-tipov-dannyih/186/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Вместо условия if($variableOne == $variableTwo) { &#8230; } можно написать if($variableOne === $variableTwo) { &#8230; }, что избавит от проверки на соответствие типов данных и приведения их друг к другу, в некоторых случаях эти действия эти случаях эти действия конечно же и бывают необходимы, но бывает это далеко не часто.<span id="more-186"></span></p>
<p style="text-align: right;"><a href="http://www.insight-it.ru/" target="_blank">insight-it.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://php.mycode.ws/sootvetstvie-tipov-dannyih/186/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>@</title>
		<link>http://php.mycode.ws/156/156/</link>
		<comments>http://php.mycode.ws/156/156/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 07:35:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://php.mycode.ws/?p=156</guid>
		<description><![CDATA[Использование этого оператора стоит избегать при каждой возможности. Казалось бы такое простое действие, как сокрытие вывода возможного сообщения об ошибке, влечет за собой достаточно трудоемкую последовательность действий: устанавливает значение параметра PHP-интерпретатора error_reporting = 0, выполняет указанное за этим оператором действие, &#8230; <a href="http://php.mycode.ws/156/156/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Использование этого оператора стоит избегать при каждой возможности. Казалось бы такое простое действие, как сокрытие вывода возможного сообщения об ошибке, влечет за собой достаточно трудоемкую последовательность действий: устанавливает <span id="more-156"></span>значение параметра PHP-интерпретатора error_reporting = 0, выполняет указанное за этим оператором действие, возвращает значение error_reporting  в исходное состояние.</p>
<p style="text-align: right;"><a href="http://www.insight-it.ru/" target="_blank">insight-it.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://php.mycode.ws/156/156/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Избегайте выполнения лишних действий</title>
		<link>http://php.mycode.ws/izbegayte-vyipolneniya-lishnih-deystviy/136/</link>
		<comments>http://php.mycode.ws/izbegayte-vyipolneniya-lishnih-deystviy/136/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 07:35:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://php.mycode.ws/?p=136</guid>
		<description><![CDATA[Достаточно абстрактное утверждение, но тем не мение постоянное напоминание себе о нем может избавить Вас от совершения массы ошибок. Самой широкораспространенной является наверное вызов какой-либо функции (чаще всего count(); или strlen();) в проверке условия выхода из цикла. Когда-нибудь доводилось писать &#8230; <a href="http://php.mycode.ws/izbegayte-vyipolneniya-lishnih-deystviy/136/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Достаточно абстрактное утверждение, но тем не мение постоянное напоминание себе о нем может избавить Вас от совершения массы ошибок. Самой широкораспространенной является наверное вызов какой-либо функции (чаще всего count();  или strlen();) в проверке условия выхода из цикла. Когда-нибудь доводилось <span id="more-136"></span>писать видеть в собственном или чужом коде выражение вида for($i  = 0; $i &lt; count($array); ++$i) { &#8230; }? А задумываться о последовательности выполнения действий при его обработке? Стоит только немного начать размышлять и ошибка становится очевидной: count(); выполняется при каждой итерации цикла, что приводит к подсчету количества элементов массива при каждой проверки условия выхода из цикла — почему бы не посчитать это значение заранее и сравнивать значения индекса с переменной, а не с результатом выполнения функции?</p>
<p style="text-align: right;"><a href="http://www.insight-it.ru/" target="_blank">insight-it.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://php.mycode.ws/izbegayte-vyipolneniya-lishnih-deystviy/136/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Вывод переменных</title>
		<link>http://php.mycode.ws/vyivod-peremennyih/116/</link>
		<comments>http://php.mycode.ws/vyivod-peremennyih/116/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 07:34:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://php.mycode.ws/?p=116</guid>
		<description><![CDATA[Наверняка вам известно, что переменные можно выводить с помощью конструкции вроде echo «$var text»;, что является одним из самых удобных вариантов решения этой задачи благодаря минимальному количеству символов, которые необходимо набрать, но с точки зрения быстродействия этот вариант далек от &#8230; <a href="http://php.mycode.ws/vyivod-peremennyih/116/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Наверняка вам известно, что переменные можно выводить с помощью конструкции вроде echo  «$var  text»;, что является одним из самых удобных вариантов решения этой задачи благодаря минимальному количеству символов, которые необходимо <span id="more-116"></span>набрать, но с точки зрения быстродействия этот вариант далек от идеала, так как влечет за собой достаточно серьезные преобразования в памяти сервера, эффект которых порой бывает заметен невооруженным глазом. Частично ущерб производительности можно сгладить заменой этой конструкции на echo $var.« text»;, что приводит к несколькому усложнению внешнего вида кода и несколько поправляет ситуацию со скоростью выполнения. Но как известно знак . обозначает конкатенацию двух строк, что тоже требует некоторых вычислений и затрат памяти, но и от нее можно избавиться, заменив на запятую. Выражение echo $var,« text»; ничем по своему эффекту не отличается от предложенных ранее вариантов, за исключением максимального быстрого выполнения, обусловленного отсутствием дополнительных преобразований в процессе передачи просто последовательности из константы и переменной.</p>
<p style="text-align: right;"><a href="http://www.insight-it.ru/" target="_blank">insight-it.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://php.mycode.ws/vyivod-peremennyih/116/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Вывод статического контента из отдельного файла</title>
		<link>http://php.mycode.ws/vyivod-staticheskogo-kontenta/96/</link>
		<comments>http://php.mycode.ws/vyivod-staticheskogo-kontenta/96/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 07:34:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://php.mycode.ws/?p=96</guid>
		<description><![CDATA[Частенько при желании выполнить указанное в заголовке действие по привычке используют include, require или их _once версии, что является далеко не самой лучшей идеей с точки зрения производительности. Самым быстрыми быстрыми и экономичными поотношению к оперативной памяти являются функции readfile &#8230; <a href="http://php.mycode.ws/vyivod-staticheskogo-kontenta/96/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Частенько при желании выполнить указанное в заголовке действие по привычке используют include, require  или их _once  версии, что является далеко не самой лучшей идеей с точки зрения производительности. <span id="more-96"></span>Самым быстрыми быстрыми и экономичными поотношению к оперативной памяти являются функции readfile и fpassthru. В качестве доказательства этого факта приведу таблицу, демонстрирующую статистику выполнения этой операции различными методами:</p>
<table border="1" cellspacing="0" width="100%" align="center">
<tbody>
<tr>
<th rowspan="2" align="center" valign="center">Функция</th>
<th colspan="2" align="center">Время (сек.)</th>
<th colspan="2" align="center">Оперативная память (байт)</th>
</tr>
<tr>
<td align="center">32Kb файл</td>
<td align="center">1Mb файл</td>
<td align="center">32Kb файл</td>
<td align="center">1Mb файл</td>
</tr>
<tr>
<td>file_get_contents</td>
<td align="right">0.00152</td>
<td align="right">0.00564</td>
<td align="right">52480</td>
<td align="right">1067856</td>
</tr>
<tr>
<td>fpassthru</td>
<td align="right"><strong>0.00117</strong></td>
<td align="right">0.00184</td>
<td align="right">20016</td>
<td align="right">20032</td>
</tr>
<tr>
<td>fgets</td>
<td align="right">0.00195</td>
<td align="right">0.07190</td>
<td align="right">30760</td>
<td align="right">30768</td>
</tr>
<tr>
<td>file</td>
<td align="right">0.00157</td>
<td align="right">0.06464</td>
<td align="right">87344</td>
<td align="right">2185624</td>
</tr>
<tr>
<td>require_once</td>
<td align="right">0.00225</td>
<td align="right">0.08065</td>
<td align="right">67992</td>
<td align="right">2067696</td>
</tr>
<tr>
<td>readfile</td>
<td align="right"><strong>0.00117</strong></td>
<td align="right">0.00191</td>
<td align="right"><strong>19192</strong></td>
<td align="right">19208</td>
</tr>
</tbody>
</table>
<p style="text-align: right;"><a href="http://www.insight-it.ru/" target="_blank">insight-it.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://php.mycode.ws/vyivod-staticheskogo-kontenta/96/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

