Difference between revisions of "Php5-fss"
(Redirected page to Mediawiki4Intranet#php5-fss) |
|||
Line 1: | Line 1: | ||
− | + | Полезное для старых версий 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.
Нужно скачать файлы:
- 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, то поставить:
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);