.NET против PHP - тесты.

Статус
В этой теме нельзя размещать новые ответы.

aloner

Guest
"Наши сервера такие быстрые, что выполняют бесконечный цикл за 9 секунд!" (то ли из рекламы Cray, то ли IBM)

Это к вопросу о тестах. :)
 

tony2001

TeaM PHPClub
exc:
тебе раскритиковали твой синтетический тест.
и услышали на это:
Кроме того, это вполне обычная методика тестирования - куча синтетических тестов и 1-2 реальных. До реальных у меня руки не дошли, да и навряд ли у кого-то дойдут - написать пару копий крупного сайта на PHP и C# - дело даже не на 1 неделю.

А вообще, гораздо проще сидеть и говорить: PHP rulez !!! C# содрали с Java, добавили кучу глюков !!!
что ты еще хочешь услышать ?
 

thingol

Новичок
Автор оригинала: tony2001
exc:
тебе раскритиковали твой синтетический тест.

что ты еще хочешь услышать ?
Это. Я не видел конструктивной критики.

То есть такой: "Этот тест неправильный потому-то, поэтому надо проделать другой тест с вот такими граничными условиями".

Т.е. первую чать фразы я видел, а вот вторую...
 

tony2001

TeaM PHPClub
этот тест неправильный, т.к. в нем исследуются нереальные ситуации, а следовало бы тестировать реальные задачи, а не надуманные "обходы деревьев с 100000 узлов".
 

Zhuravlev S.

Guest
Согласен с мнением, что тестировать надо конкретную задачу, например выполнение запроса к БД, или парсинг кода
надо сравнивать не выполнение элементарных операций, а выполнение сложных функций, например скорость addslashes с аналогом в С# либо другие ..
опять же для прокачки цикла есть облегчённый вариант for () {} - foreach, но авторами теста он проигнорировался, видимо не такая разница будет
 

Mammoth

Guest
Спорить на темы "holy wars" - глупо. Кесарю - кесарево...
А по поводу тестов мое мнение таково, что они отражают реальную ситуацию - пхп отрабатывает медленнее. Другое дело, что большинству юзеров скорее всего без разницы, отработает скрипт за 0,0001 или за 0,5 секунды... ;-)
 

SeazoN

Guest
C# & .NET info:
Microsoft (R) Visual C# .NET Compiler version 7.00.9466
Microsoft (R) .NET Framework version 1.0.3705
PHP info:
PHP 4.2.3
Сравнивать
.PHP vs C# - некорректно
PHP+accel vs C# - я б ещё посмотрел.
Но уж точно не тест типа 2+2=4
 

[VS]

Guest
Ты читать умеешь ? Да, область применения C# шире. Но есть область, в которой применяются как PHP, так и C# (ASP.NET) - разработка вэб-приложений.
Я читать то умею, а вот ты похоже наивно думаешь что все веб приложения можно под одну гребешку загнать.

Автор оригинала: [VS]
.NET содран с Java с добавлением глюков и дырок. Поэтому их можно сравнивать.
PHP - с C :) Ты любитель флейма ? Super-moderator :)
Очень настоятельно рекомендую почитать статьи о связях .NET с Java, так-же комментарии и интервью разработчиков одного и другого.
Причем тут то что я супер модератор - мне не понятно. А по поводу флейма - я не понимаю, какое еще желание кроме флейма было у тебя при написании в этот форум о идиотском тесте, у которого единственная цель - любой ценой пренебрегая разумным смыслом показать что .NET всегда лучше PHP.

Автор оригинала: [VS]
Если тебе этого не понятно - пиши сайты на С.
Возможно, ты не имел дело с крупными проектами.
Не противоречь сам себе - это ты настаивал что скорость это самое главное.

Автор оригинала: [VS]
Достали - не читай.
Это не повод писать другие, еще более смешные бенчмарки.
В той статье нет бенчмарка :) Так что "более" тут не к месту. Ну и упертый ты. Сами тесты-то хоть смотрел ?
Смотрел, это фактически и есть бенчмарк. Другими словами - сравнение скорости по некоторым тестам.
Сам подумай кто тут упертый ... тебе все обьясняют чем тест бессмыслен, а ты не хочешь ничего понимать.
 

thingol

Новичок
Автор оригинала: SeazoN
Сравнивать
.PHP vs C# - некорректно
PHP+accel vs C# - я б ещё посмотрел.
Ну привет.

Акселератор никак не влияет на скорость выполнения участка кода. Он влияет на скорость загрузки и трансляции в байткод.
 

SeazoN

Guest
Акселератор никак не влияет на скорость выполнения участка кода.
Значит .NET компилер нужен в тестах, а ПХП - нет????

Название они выбрали не совсем правильное. Ближе былоб in memory compiler

http://zend.com/store/products/accelerator-faq.php#3

Он влияет на скорость загрузки и трансляции в байткод.
Ну вот, ща опять начнём про реальные задачи.
 

Mammoth

Guest
2 thingol & exc:

Пожелания насчет будущих тестов:

1) Создайте еще одну группу тестов, где скрипт выполняет только readfile(), и прогоните файлы с разными размерами (предлагаю 10к, 100к, и 1М);
2) время желательно замерять на стороне клиента.
3) хотелось бы увидеть время выполнения не одного скрипта в цикле от 1 до мульона (XXX), а суммарное время выполнения 1000 запросов с циклом от 1 до ста (больше, как правило, и не бывает);
4) желательно было бы увидеть загрузку процессора и памяти при выполнении скриптов и в "стоячем" виде;
5) желательно было бы пояснить фразу "При этом в C# присутствуют все возможности PHP (и даже гораздо
большие)" - но это, скорее всего, вызывет очень сильный флейм.
6) Может имеет смысл сравнить еще и минимальные (оптимальные) требования к связке LAMP и к связке MS Win Nt (XP, 2k) + IIS + MS SQL Server + .Net? (поясню - для меня эталоном самой жрущей ресурсы программы является MS SQL сервер: ничего не делая, он жрал 40% процессорного времени при объеме памяти 512М и камне PIII-800) - но, опять же, это на твое усмотрение: скорее всего, этот топик тоже вызовет очень сильный флейм.

Пока все.

ЗЫ. В "Цэ с диезом" имеется библиотека PCRE? Так может сравнить ее работу с реализацией на ПХП?

ЗЗЫ. (своего рода пояснение к пунктам 1-3): Все-таки зря кое-кто сравнивает обсуждаемые тесты с тестами, проведенными на RSDN: на рсдн речь шла не о веб (другая специфика, товарищ)...
 

thingol

Новичок
2Monster - спасибо за первый конструктивный пост в топик. Я думаю, Саша учтет ваши пожелания.

Только вопрос об измерении на стороне клиента темный и сложный:

- если мы делаем тест, для которого суммарное время выполения на сервере 5-20 ms, то никакой разницы по времени загрузки мы не увидим из-за +1-3 sec на загрузку
- если мы делаем тест, для которого суммарное время выполения на сервере 1-5 s, то загрузка на клиента будет давать вклад примерно 50%
- если мы делаем тест, для которого суммарное время выполения на сервере 15-30 s, то загрузка на клиента ghfrnbxtcrb не даст вклада

Так что получается, или мухи с котлетами надо готовить по отдельности, или же выбирать суммарное время выполения на сервере исходя из каких-то мифических "реальных задач", про которые никто не знает, что же это такое и сколько они длятся.
 

thingol

Новичок
Тьфу, прошу прощения. Не Monster, а Mammoth.

Почему форум не дает редактировать свои посты?
 

Mammoth

Guest
2 thingol:

не совсем понял, о какой загрузке ("+1-3") идет речь: о загрузке по сети или о загрузке (формировании представления документа) в броузере? К тому же не совсем понятно, о каких котлетах и мухах идет речь? Если ты имеешь в виду, что "котлеты" - это время работы скрипта, а "мухи" - это загрузка, то ведь "мухи" будут приставать не только к "котлетам" ЦЭ#, но и к "котлетам" ПХП... А голое созерцание на то (осознание того), что ЦЭ выполнит работу за тысяную долю секунды юзеру ничего не даст...

Насчет редактирования: у каждого поста имеется ссылка на "Редакт.". Смотри внимательно... (ничего страшного - я не обижаюсь на такие пустяки ;-)
 

thingol

Новичок
2Mammoth:
это неважно, к какой именно. На самом деле, у нас есть 4 времени:
1. T1 - время формирования страницы на сервере, включая
2. TT - время отработки на сервере конкретного теста, т.е. разница по времени между началом выполнения функций теста и окончанием
3. T2 - время передачи данных по сети от сервера к клиенту
4. T3 - время формирования представления документа в браузере

T3 и T2 - константы. Никакого смысла в добавлении констант к тому, что мы измерям, я не вижу.

Есть смысл измерять TT (что делалось в этих тестах) и T0.

Вы согласны?


Насчет редактирования: 1. Вы не имеете доступа к данной странице Форума.
 

Mammoth

Guest
>Вы согласны?

Не совсем. Именно потому, что TT !== T1...
 

thingol

Новичок
тьфу. Вместо T0 читать T1.

Т.е. с тем, что нужно измерять T1 и TT вы согласны?
 

Mammoth

Guest
> Т.е. с тем, что нужно измерять T1 и TT вы согласны?

С этим - да. T3 можно не мерять. Т2 - не совсем константа, но сделаем допущение, что при большом количестве экспериментов (запросов) это будет именно так.

Ты не согласен с тем, что замерять T1+T2 с клиента более правильно, чем TT - с сервера?
 

tony2001

TeaM PHPClub
Apache Bench имхо существует именно для таких целей.
Ибо нас интересует в данном случае именно массовое выполнение скриптов, а не единичный случай, оторванный от жизни.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху