выбор TemplateEngine

Alexandre

PHPПенсионер
Может, это программист не досмотрел? Тестировать, может, надо было тщательнее...
Тут и парадокс... когда тестировалось по усредненным данным - все бегало...
можешь и так считать, но в ТУ не было написано про требований на минимальный объем выводимой информации, по этому все расчитывалось на среднее кол-во выводимой информации. Как говорится - знал где упадешь - соломки постилилбы...

А вот, клиент, обладавший кучей контента, вывел статистику за максимальный период и получил большую кучу строк...
собсна по каким критериям рулит? есть ли success stories по смене php на perl/jsp/etc, приводящей к повышению производительности?
по скорости, явно не домыслы, по тестам - jsp в 5 раз производительней.
perl- тоже производительней, но так как я не перловецЮ то сравнительной хр-ки не знаю... если порыться, то бенчмарки отыскать можно
 

AnToXa

prodigy-одаренный ребенок
по скорости, явно не домыслы, по тестам - jsp в 5 раз производительней.
по каким конкретно тестам? ссылки.

perl- тоже производительней
я уже понял, потому что ты так считаешь, ага.

P.S. просьба насчет success stories и раскрытия твоих источников информации остается в силе, буддет интересно почитать.
 

Alexandre

PHPПенсионер
Код:
How many times faster or smaller are the PHP programs than the corresponding Perl programs?

PHP x times better 
- Perl x times better 
Program & Logs  Faster  Smaller: Memory Use Smaller: GZip Bytes Reduced N 
binary-trees -1.2 -2.6 -1.0  
chameneos No program    
cheap-concurrency No program    
fannkuch -1.2 -3.4 -1.5  
fasta -1.5 -2.7 -1.2  
k-nucleotide -2.3 1.7 -1.7  
mandelbrot 1.5 -2.8 -1.3  
n-body -1.3 -2.6 -1.1  
nsieve -1.1 -4.4 1.2  
nsieve-bits No program    
partial-sums -1.1 -3.3 1.1  
pidigits -5.8 -1.7 -1.7  
recursive -1.3 -1.6 1.2  
regex-dna 1.2 -1.8 -1.5  
reverse-complement -1.5 -1.1 -1.7  
spectral-norm 1.4 -3.0 1.1  
startup -7.9   -1.6  
sum-file -2.9 -3.3 -1.9
-~{}~ 07.11.06 16:53:

Код:
How many times faster or smaller are the PHP programs than the corresponding Java JDK -server programs?

PHP x times better 
- JDK -server x times better 
Program & Logs  Faster  Smaller: Memory Use Smaller: GZip Bytes Reduced N 
binary-trees -41 -4.2 1.2  
chameneos No program    
cheap-concurrency No program    
fannkuch -60 2.3 1.1  
fasta -69 2.3 1.2  
k-nucleotide -3.2 1.4 1.3  
mandelbrot -46 2.5 1.3  
n-body -142 2.5 1.1  
nsieve -11.9 -30 1.9  
nsieve-bits No program    
partial-sums -2.1 2.4 1.3  
pidigits -7.5 3.2 1.1  
recursive -220 -1.4 1.4  
regex-dna 1.0 1.7 -1.0  
reverse-complement -1.0 1.3 1.7  
spectral-norm -106 2.1 1.7  
startup 3.6   1.8  
sum-file -5.2 2.6 1.9
-~{}~ 07.11.06 17:01:

http://shootout.alioth.debian.org/gp4/benchmark.php

-~{}~ 07.11.06 17:01:

это не единственный сайт о бенчмарках
 

AnToXa

prodigy-одаренный ребенок
гхм, видел я сие убожество, ага. в общем-то верю, что _компилируемая_в_native_ (так и не понял, что как там измеряют) jdk _server_(жрущея память сразу и помногу) быстрее _bytecode_интерпретируемого_ php без оптимизации + там еще измеряют скорость запуска cli интерпретатора и все такое прочее, плюс синтетические тесты.

я потому и просил success stories, которые показывают увеличение скорости _приложения_ при переписывании его с одного на другоей, причем в реальных условиях, а не в кривых руках с использованием cli и интерпретаторов.

результатам теста верю конечно.
 

Alexandre

PHPПенсионер
AnToXa я тут с перловцами общался изи маил-ру, так они говорят, что с точки зрения сборки текста - пхп производительней, а вот с точки зрения анализа (строковые операции, регэкспы) - производительней перл.

про ява - у меня знакомый директор интернет агентства реализует наиболее нагруженные прооекты на JSP
 

AnToXa

prodigy-одаренный ребенок
> я тут с перловцами общался изи маил-ру, так они говорят, что с точки зрения сборки текста - пхп производительней
верю, но мы про приложения ведь говорим в целом.

> про ява - у меня знакомый директор интернет агентства реализует наиболее нагруженные прооекты на JSP
а мы реализуем нагруженые проекты на php, и что? :)
 

Alexandre

PHPПенсионер
а мы реализуем нагруженые проекты на php, и что?
все зависит от нагрузки....
AnToXa предлагаю прекратить дискус, он заводит в тупик.

с точки зрения методики тестирования, конечно оптимально написать шелл скрипт, который
1) запоминает таймстамп
2) вызывает fedch( http://url.scpipt.php )
3) печатает разницу таймстампов 1 и 3

теже шаги 1.2.3 для http://url.scpipt.jsp
 

AnToXa

prodigy-одаренный ребенок
все зависит от нагрузки....
AnToXa предлагаю прекратить дискус, он заводит в тупик.
все зависит от мозгов+рук и их использования.
ага, прекращаем, жаль что не удалось послушать начальника транспортного цеха :D
 

AmadMike

Новичок
В форуме phpBB есть класс template, правда немного замороченный, принцип массива я оставил почти таким же, а все методы переписал заново с использованием strpos, получилось довольно неплохо.
Хотя последнее время больше склоняюсь к DOM как на стороне сервера так и на стороне клиента. Все-равно 90% используют браузеры, которые поддерживают концепцию AJAX, с помощью которой можно свести до минимума нагрузку на сервер, ну а для старых браузеров можно отдельно вывести работу с шаблонами.

Ну а в конце концов если все упирается только в шаблоны, то можно нагрузку снизить за счет кэширования.
 

Solid

Drosera anglica
Фанат, лох в данном случае ты, потому что ты даже не смог привести доводы против XSLT, и того, что я здесь наплёл. Знаю, что твой выбор PHP и никакие другие шаблоны тобой не признаются. Но всётаки, зачем же так резко? Конечно, понимаю, у нас с тобой по началу были разногласия, из-за моей безтактности и незрелости ума. Однако, я надеюсь ты не злопамятный и забудешь это недразумение, которое когда-то приключилось...

Сергей Тарасов
Согласен, что не быстрая, однако парсинг XML можно производить во многих случаях (особенно в наше время, когда появились FF, O9, IE) на клиенте (есть JS библиотека делающая многие функции кроссбраузерным, называется она Sarissa). Метод, который я попытался описать в нескольких словах уже реализован в Freja, которая достигла уже второй версии. На ней уже крутиться несколько реальных проектов.
И замете, я ничего не говорил, про то, что PHP. XSLT - это всего лишь вид. Всё остальное может происходит при помощи PHP. Т.е. выборка данных из базы данных, отсылка данных как JSON string на клиент, на клиете всё это дело заворачиваеться в XML и дальше уже парсится в XSL.

Alexandre
Я уврене, что предложенный мною метод не только не будет загружать сервер, но и разгрузит его во много раз. Всё что потребуется от сервера, это отдавать данные вида и данные, полученные из БД, или ещё откуда... Парсинг же, в большинстве случаев, выполняется на клиете. На сервере же парсинг выполняеться в самых исключительных случаях: когда в браузере не установлен XSLT парсер (боты... кстати решаеться ещё одна проблема с индексацией на поисковиках и немногочисленные пользователи), или же при открытии первой страницы (согласен, что она будет открываться очень часто.. однако её можно кешировать). Вообще, при правильном кешировании можно добиться потрясающих результатов в производительности.

boombick
Вот и я о том же. Тем более, что в последнее время, 90% пользователей интернета имеют установленный в своих браузерах XSLT parser.
 

Лысый

Новичок
Solid
твоя основная ошибка в том, что ты видишь причину загрузки сервера в парсинге шаблонов.
 

Solid

Drosera anglica
Лысый
Мы тут обсуждаем шаблоны. Так что я здесь говорю исключительно о шаблонах. Я бы сказал так, что 20-50% загруженности веб-приложений на сервере (т.е. чем заняты скрипты) -- это парсинг шаблонов.
 

master_x

Pitavale XXI wieku
Solid
пожалуйста, не пиши больше в эту тему, все поняли что тебе нравится XSLT... рассказывать тебе что шаблонизатор на шаблонизаторе -- это муть покруче "Матрицы", бесполезно. и живешь ты в imaginary world где все клиенты парсят XSLT быстро и красиво (если вообще парсят)... и верстальщики (или кто-там у нас) повально знают XSLT.
 

Лысый

Новичок
Solid
я не знаею что ты тут обсуждаешь, но как было сказано Alexandre ключ к успеху в кешировнии. особенно в блочном.
если у тебя хотя бы 20% уходит на парсинг - вообще не парься на тему шаблонов.
или ты решаешь шаблонами статические задачи или ты вообще не в теме..
 

Solid

Drosera anglica
Лысый
master_x
Помоему, изначально вопрос стоял о выборе шаблонного движка, или я что-то упустил?

Какой шаблон в шаблоне? Если вы не так понимаете, это вовсе не означает, что другие поймут точно так же. Я привёл пример -- Freja, который реализует примерно тоже самое. И если вам лень, хоть немного потратить время, разобраться в Freja, то извольте хотя бы не тормозить, и не комментировать всякую чушь.

Понимаю, если тема была бы о кешировании, то да, в таком случае здесь можно было бы поговорить и о кешировании... но тема то называеться "выбор TemplateEngine". Так что давайте поговорим о движках шаблонирования, а не о том, что и так ясно (кеширование-кеширование-кеширование... если вам так нравится это слово).
 

Лысый

Новичок
талекоо ли доо Тааалина?
ХЗ

не вижу смысла обсуждать теорию в отрыве от практики
нормальный шаблонизатор поддерживает кеширование, а не жрёт каждый раз по 20-50%, что просто смешно...
 

Solid

Drosera anglica
Лысый
Вы, помоему, судя по неадекватным ответам, ещё дальше Таллина.
Кеширование - это отдельный вопрос.
 

jonjonson

Охренеть
Solid, есть мнение насчёт непригодности XML и связанного с ним XSLT для шаблонизаторов. Правда не моё...
Назад, к основам Читать до конца. =)
Кстати, разработчики фреймвока CakePHP тоже предпочтение отдали php в качестве шаблонизатора, хотя есть тутор, как прикрутить смарти.
 

Solid

Drosera anglica
jonjonson
Насчёт статьи - это вы, помоему, как-то ошиблись. Скорее всего вы не поняли всей сути её...
Так же можно сравнить С++ и PHP... Зачем использовать PHP, если он тормознее в 10-100 раз? Правильно - потому что на PHP проще программировать, разработка веб-приложений (и не только) от начала до конца происходит в разы быстрее, так же ещё много чего прочего.
У XSLT есть тоже свои плюсы. Это стандарт, принятный W3C, который уже используеться повсеместно (хотя ещё не достаточно, что б он был принят многими). Я бы не сказал, что с его помощью создавать шаблоны намного тяжелее, чем, например, на том же самом Smarty. С его помощью, необычайно мала вероятность создания неправильного HTML или XHTML кода. Поддерживается многими редакторами. Почти для каждого языка программирования есть свой интерфейс использования XSLT (библиотека ли, extension, gem, модуль, бывает встроен).
С будущим WEB2.0 без XML-подобного языка шаблонирования просто не обойтись, т.к. всё должно, в конечном счёте, быть стандартизированно.
 

Alexandre

PHPПенсионер
Правильно - потому что на PHP проще программировать, разработка веб-приложений (и не только) от начала до конца происходит в разы быстрее,
спорное утверждение, у меня один знакомый разрабатывает функционал портала на С++ не медленнее, чем кто-либо из нас на пхп.
PHP - проще в освоении, PHP - WEB-ориентированный, ног при определенном уровне скилс, скорость разработки уже не зависит от платформы...
 
Сверху