LINUX.ORG.RU

Ответ на: комментарий от KRoN73

И еще: у меня шаблон - XML.

Как сделать {} тегами XML (т.е. Smarty шаблон сделать целиком Well-formed XML), а то Eclipse их подчеркивает как синтакс ошибки - неудобно

geksahlorciklogeksan
() автор топика
Ответ на: комментарий от geksahlorciklogeksan

>Какой синтаксис замены?

Например, вместо if($s{0} == ".") писать if(preg_match('!^\.!', $s)) или вместо if(substr($s, -4) == '.php') писать if(preg_match('!\.php$!', $s))

В PHP очень медленный substr по сравнению с preg_match в этом синтаксисе.

Иногда выигрышь ещё больше бывает, скажем, типа: if($s{0} == '{') .. $pos = indexof('}', $s); ... $tag = substr($s, 1, $pos-1) ...

Это заменяется на if(preg_match('!^\{(\w+)\}!', $s, $match)) ... $tag = $match[1];

(примеры абсолютно от балды, именно такого кода там не найдёте, но там полно такого кода по смыслу).

>Может самому проделать.

Так я и делал. Ещё, то ли в .14, то ли в .17

И отсылал патчи. Но в ответ - тишина.

Я года полтора назад свой фреймворк профайлил и удивился тоннам тормозных substr(). Сперва вычистил всё у себя, потом взялся за Smarty. Комплексный выигрышь не оценивал, но особо тяжёлые страницы, который оригинальный Smarty рендерил до 5 секунд после таких замен стали генериться за секунду.

...

М.б. снова ещё раз попробую пропатчить и отослать :)

KRoN73 ★★★★★
()
Ответ на: комментарий от geksahlorciklogeksan

>Как сделать {} тегами XML

Не знаю :) Я свои шаблоны в mcedit правлю, благо они совсем короткие и сильно отрефакторенные.

KRoN73 ★★★★★
()

похапе написанный на похапе.

Absurd ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.