это зависит от реализации libxsltА почему нет, при условии, что "преобразователей" несколько? Я курс, многопроцессорных систем три года назад проходил, может и забыл что-то, но не вижу препятствий для распараллеливания двух процессов с единственным общим внешним ресурсом - файловой системо
-1, недостаток: скорость.
кстати это делается тем же xslt преобразованием...давайте напишем компиляцию XSLT шаблонов в PHP код, должно быть, по идее, достаточно быстро...
А при чём здесь реализация на яваскрипте? Я говорю о компиляции шаблонов, а не традиционной реализации XSLT преобразования.сомневаюсь.. реализация xslt на яваскрипте занимает 100кб кода, на пхп будет раза в два больше.
Я имел ввиду какое-то внешнее по отношению к выполняемому скрипту решение - демон, например, который будет строго заниматься компиляцией, ну и каким то своим кешированием, наверное. Наверняка такое уже есть, и надо просто покопать.Автор оригинала: Alexandre
это зависит от реализации libxslt
для распараллеливания необходимы специальные команды для процессора. т.е. мы можем параллельно выполнять только потоки и процессы ( процесс является главным потоком ). Если алгоритм реализации libxslt допускает разбиение вычисления на потоки, то тогда это возможно. мне кажется - нет.
Куда уж php тягаться с libxslt, написанном на С.Автор оригинала: atv
CatManZero, dark-demon, а давайте напишем компиляцию XSLT шаблонов в PHP код, должно быть, по идее, достаточно быстро...
Полностью согласен. Потому и выбрал для следующего проекта {{MACRO}}. Сайт, обещают, будет достаточно посещаемым. Причем работать будет не в самых идеальных условиях. Не хотелось бы, чтоб xslt стал главным тормозом. Тем более, что он (xslt) является PushView-шаблонизатором, и требует дополнительной подготовки данных перед трансформацией. Это естественно приводит к дополнительным расходам ресурсов.Автор оригинала: korchasa
А касаемо темы - мои сегодняшние бенчи показали, что сложная страница на {{MACRO}} без компиляции, кеширования опкода и тюнинга, отдается на рабочей машине за 5 сотых, что вполне устраивает, т.к. одно кеширование, чем-нибудь типа APC должно дать прирост на пару порядков.
Я точно не знаю, но помоему там шаблоны не компилируются, а преобразование производиться непосредственно с DOM деревом. К тому же, там каждый раз происходит парсинг шаблона в DOM дерево.Куда уж php тягаться с libxslt, написанном на С.
ты, скорее всего, не до конца понимаешь идею компиляции, а уже делаешь такие выводы, ладно, не парся.при том, что это будет неповоротливый монстр.
XSLT элементы где-то 80%, XPath - практически всё.ты реализовал все функции xpath и элементы xslt?
Что ты имеешь ввиду? Если данные понадобятся, то неважно когда они будут подготовлены, перед трансформацией, или во время...он (xslt) является PushView-шаблонизатором, и требует дополнительной подготовки данных перед трансформацией.
Сорри. Я немножко запутался в терминологииАвтор оригинала: atv
Что ты имеешь ввиду? Если данные понадобятся, то неважно когда они будут подготовлены, перед трансформацией, или во время...