Difference between revisions of "Php5-fss"

From Wiki4Intranet
Jump to: navigation, search
(Redirected page to Mediawiki4Intranet#php5-fss)
 
 
Line 1: Line 1:
#REDIRECT [[Mediawiki4Intranet#php5-fss]]
+
Полезное для старых версий PHP расширение, позволяющее ускорить важнейшую для медиавики операцию — замену набора подстрок на набор других подстрок — примерно в 500 раз. «FSS» значит «Fast String Search» на основе алгоритмов Бойера-Мура и Комменца-Вальтера. Посмотреть доклад (мой, ага — [[Участник:VitaliyFilippov|VitaliyFilippov]] 16:21, 30 марта 2011 (MSD)) про это расширение можно здесь: [[lib:PHP-разгон: серебряная пуля из автомата Комменца-Вальтера (Commentz-Walter)]].
 +
 
 +
Реально это ускоряет работу MediaWiki в разы, особенно на больших статьях с большим количеством разметки (например, включений шаблонов, функций парсера…).
 +
 
 +
На зеркалах дебиана его нет, однако можно собрать из исходников вот отсюда:
 +
 
 +
* http://apt.wikimedia.org/wikimedia/pool/main/p/php5-fss/
 +
 
 +
Из исходников собирать нужно потому, что пакетов под i386 там нет, только под amd64. Сборка описана для тех, у кого есть под рукой Debian/Ubuntu.
 +
 
 +
Нужно скачать файлы:
 +
* http://apt.wikimedia.org/wikimedia/pool/main/p/php5-fss/php5-fss_0.0.1.orig.tar.gz
 +
* http://apt.wikimedia.org/wikimedia/pool/main/p/php5-fss/php5-fss_0.0.1-3.dsc
 +
* http://apt.wikimedia.org/wikimedia/pool/main/p/php5-fss/php5-fss_0.0.1-3.diff.gz
 +
 
 +
Если нет пакетов php5-dev, debhelper, то поставить:
 +
<code-bash>
 +
sudo apt-get install php5-dev
 +
sudo apt-get install debhelper
 +
</code-bash>
 +
И далее сказать:
 +
<code-bash>
 +
dpkg-source -x php5-fss_0.0.1-3.dsc
 +
cd php5-fss-0.0.1
 +
debian/rules binary
 +
dpkg -i ../php5-fss_0.0.1-3_i386.deb
 +
</code-bash>
 +
 
 +
Либо можно добавить в <tt>/etc/apt/sources.list</tt> зеркало <tt>http://apt.wikimedia.org/wikimedia/</tt> (обязательно с deb-src), и дальше {{cmd|apt-get update; apt-get source php5-fss}} и дальше всё то же самое.
 +
 
 +
Для версий PHP >= 5.3 в коде расширения(fss.c, строка 243) также следует изменить строчку
 +
ZVAL_ADDREF(*value);
 +
На строчку
 +
Z_ADDREF_P(*value);

Latest revision as of 16:16, 22 September 2016

Полезное для старых версий PHP расширение, позволяющее ускорить важнейшую для медиавики операцию — замену набора подстрок на набор других подстрок — примерно в 500 раз. «FSS» значит «Fast String Search» на основе алгоритмов Бойера-Мура и Комменца-Вальтера. Посмотреть доклад (мой, ага — VitaliyFilippov 16:21, 30 марта 2011 (MSD)) про это расширение можно здесь: lib:PHP-разгон: серебряная пуля из автомата Комменца-Вальтера (Commentz-Walter).

Реально это ускоряет работу MediaWiki в разы, особенно на больших статьях с большим количеством разметки (например, включений шаблонов, функций парсера…).

На зеркалах дебиана его нет, однако можно собрать из исходников вот отсюда:

Из исходников собирать нужно потому, что пакетов под i386 там нет, только под amd64. Сборка описана для тех, у кого есть под рукой Debian/Ubuntu.

Нужно скачать файлы:

Если нет пакетов php5-dev, debhelper, то поставить:

sudo apt-get install php5-dev
sudo apt-get install debhelper

И далее сказать:

dpkg-source -x php5-fss_0.0.1-3.dsc
cd php5-fss-0.0.1
debian/rules binary
dpkg -i ../php5-fss_0.0.1-3_i386.deb

Либо можно добавить в /etc/apt/sources.list зеркало http://apt.wikimedia.org/wikimedia/ (обязательно с deb-src), и дальше apt-get update; apt-get source php5-fss и дальше всё то же самое.

Для версий PHP >= 5.3 в коде расширения(fss.c, строка 243) также следует изменить строчку

ZVAL_ADDREF(*value);

На строчку

Z_ADDREF_P(*value);