<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Блоги: заметки с тегом php7</title>
<link>https://blogengine.ru/blogs/tags/php7/</link>
<description>Автоматически собираемая лента заметок, написанных в блогах на Эгее</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.0 (v4079e)</generator>

<itunes:subtitle>Автоматически собираемая лента заметок, написанных в блогах на Эгее</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit>no</itunes:explicit>

<item>
<title>PHP 7.4 vs. PHP 8.0a</title>
<guid isPermaLink="false">124864</guid>
<link>https://bolknote.ru/all/php-74-vs-php-80a/</link>
<pubDate>Thu, 19 Mar 2020 01:56:58 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/php-74-vs-php-80a/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p class="remark"&gt;Резюме — в моём частном случае стало ощутимо быстрее, PHP 7.4 работал 63,9 секунд, 8.0a — 42,6.&lt;/p&gt;
&lt;p&gt;Как многие знают, основной фишкой восьмой версии интерпретатора ПХП &lt;a href="https://bolknote.ru/all/about-php8/"&gt;будет &lt;i&gt;JIT&lt;/i&gt;&lt;/a&gt;. Обещают ускорение вычислительных задач, что немного не про веб, где в основном используется этот язык, но всё равно выглядит интересно.&lt;/p&gt;
&lt;p&gt;В официальном репозитории альфа восьмой версии лежит уже давно, стало интересно сравнить её с «семёркой» — много ли даёт &lt;i&gt;JIT&lt;/i&gt; приросту. Для подобных тестов я &lt;a href="https://bolknote.ru/all/4261/"&gt;давно использую&lt;/a&gt; свой оптимизирующий транслятор «Брейнфака», с загруженной в него задачей вычисления числа Пи.&lt;/p&gt;
&lt;p&gt;Восьмой ПХП собрался на моём «Макбуке» следующей последовательностью команд:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="bash"&gt;PATH=/usr/local/Cellar/bison/3.5.3/bin/:$PATH ./buildconf
./configure --prefix=/opt/php-bin/ --without-iconv --disable-xml \
--without-libxml --disable-simplexml --disable-xmlwriter --disable-dom --disable-xmlreader
make -j4
make install&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Версию 7.4 ставил через «брю», сборочную конфигурацию оставил как есть, ничего не менял.&lt;/p&gt;
&lt;p&gt;После небольшой коррекции &lt;tt&gt;php.ini&lt;/tt&gt; в информации об интерпретаторе появились &lt;i&gt;OPcache&lt;/i&gt; и &lt;i&gt;JIT&lt;/i&gt;:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2020.03.18@2x.jpg" width="1000" height="392" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Скомпилированная версия PHP 8.0a со включенным JIT&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Вообще свой брейфаковский транслятор когда-то давно я умудрился сломать, но с быстрым фиксом он выплюнул некую калечную программу, которая, тем не менее, выдала результат, похожий на правду и довольно бодро нагрузила одно ядро процессора.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2020.03.18.2@2x.jpg" width="1000" height="546" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Сравнение PHP 7.4 и 8.0a, со включённым и выключенным opcache (меньше — лучше)&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Каждую версию интерпретатора я тестировал со включенным и выключенным &lt;i&gt;OPcache&lt;/i&gt; десять раз, а результаты усреднил. Как видите, &lt;i&gt;JIT&lt;/i&gt; существенно ускорил выполнение программы в моём случае (там огромное количество циклов и ветвлений) — 63,9 секунды против 42,6.&lt;/p&gt;
&lt;p&gt;Что интересно — &lt;i&gt;PHP 8.a&lt;/i&gt; без &lt;i&gt;OPcache&lt;/i&gt; обогнал версию 7.4 со включенным &lt;i&gt;opcache&lt;/i&gt;, это примечательный результат— значит сам «голый» интерпретатор тоже оптимизируют.&lt;/p&gt;
</description>
</item>

<item>
<title>Скорость PHP7 на интерпретаторе Brainfuck</title>
<guid isPermaLink="false">124865</guid>
<link>https://bolknote.ru/all/4261/</link>
<pubDate>Sat, 20 Dec 2014 22:19:00 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/4261/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img width="660" height="268.5" src="//bolknote.ru/imgs/2014.12.20.1.jpg" alt="Производительность PHP7 (161.98КиБ)" srcset="//bolknote.ru/imgs//2014.12.20.1@2x.jpg 2x"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;У меня есть старинная забава — брать свой &lt;a href="https://github.com/bolknote/brainfuck"&gt;оптимизирующий интерпретатор языка «Брейнфак»&lt;/a&gt; и запускать программу, вычисляющую число «Пи» под разными версиями ПХП, чтобы посмотреть их производительность. Тест довольно синтетический, но посмотреть всё равно интересно.&lt;/p&gt;
&lt;p&gt;Сравнил в данном случае версии 5.5.14  и сегодняшнюю сборку 7.0, разница всё равно заметна, хоть и не так впечатляюща, как в случае с «&lt;a href="https://wiki.php.net/phpng#performance_evaluation"&gt;Вордпрессом&lt;/a&gt;» — там разница в два раза.&lt;/p&gt;
&lt;p&gt;Время у меня на скриншоте общее — то есть трансляция программы на «Брейнфаке» в ПХП и запуск получившегося через &lt;i&gt;eval&lt;/i&gt;.&lt;/p&gt;
</description>
</item>


</channel>
</rss>