Marta
Зарегистрирован: 22.12.03
Сообщения: 60
|
Добавлено: 24/02/04 в 09:03
|
|
Какие плюсы и минусы в вашей работе встречались? И какой продуктинее и удобнее?
|
K началу
|
|
|
Black
Зарегистрирован: 26.01.03
Сообщения: 1356
|
Добавлено: 24/02/04 в 10:46
|
|
зависит от задач. Если трейд скрипт то я выбираю cgi t.k. все таки побыстрее будет. а если простые скрипты то php удобнее. IMXO.
|
K началу
|
|
|
Pentarh
Зарегистрирован: 05.04.03
Сообщения: 2378
|
Добавлено: 24/02/04 в 11:32
|
|
- На небольших трафиках (до 10к где-то), быстродействие не очень сильно отличается. Выше - больше. CGI на C/C++ ессесно быстрее намного будет. - CGI на перле просто создан для обработки текстовой инфы. Точнее сам перл для этого создан - ПХП удобный очень. Простой в написании. Без гимороя. - Про Перл не зря говорят, что это Write-Only язык. Напишет тебе профессионал прогу, потом хер разберешь что там к чему. Полиморфный, контекстно-зависимый язык.
Ну а вообще, дело вкуса.
|
K началу
|
|
|
Grumbler
Зарегистрирован: 06.07.02
Сообщения: 117
|
Добавлено: 24/02/04 в 16:34
|
|
Каждый язык имеет свои нативные задачи и определенную сферу применения. Использовать можно везде любой язык, но не всегда это будет оптимальным.
|
K началу
|
|
|
perlmaster
Зарегистрирован: 27.02.03
Сообщения: 674
|
Добавлено: 24/02/04 в 19:10
|
|
holy war? Ну нахуй. Все хорошо, в зависимости от задачи. Это уже не раз обсуждалось, причем с высказываниями весьма уважаемых программистов ;), юзайте поиск - он рулез.
|
K началу
|
|
|
Xrenoder
Зарегистрирован: 14.09.00
Сообщения: 632
|
Добавлено: 24/02/04 в 21:26
|
|
Pentarh писал: | - На небольших трафиках (до 10к где-то), быстродействие не очень сильно отличается. Выше - больше. CGI на C/C++ ессесно быстрее намного будет.
|
Хммм. Довольно спорное утверждение. Проверяется просто - делаешь скрипт "hello, world" на с++ как cgi и на php. Утилитой ab эмулируешь конкурентный траф на оба скрипта и смотришь время выполнения. Результат тебя удивит (как и меня в свое время) - скрипт на php будет выполняться существенно быстрее.
На самом деле, зависимость такая: чем короче скрипт (речь про независимо работающие веб-скрипты), тем более выгодно использовать php вместо cgi в плане быстродействия и нагрузки на сервер. На практике, это можно сказать про 99% веб-скриптов, включая сиджи. Причина проста - для обработки cgi в системе каждый раз создается новый процесс, что есть процедура довольно ресурсоемкая, сжирающая бОльшую часть общего времени выполнения скрипта. При запуске же php скрипта (естественно, если php организован как модуль апача) время на создание процесса не тратится - он уже висит в памяти. Проигрыш на интерпретации скрипта на практике гораздо ниже выигрыша на создании процесса.
Другое дело, большие (не большие, а ДЕЙСТВИТЕЛЬНО БОЛЬШИЕ) скрипты - при написании программы на С можно хорошо выиграть на оптимизации и отсутствии необходимости каждый раз интерпретировать текстовый код в бинарник. Но такие задачи встречаются очень редко в веб-программировании.
Поэтому в 99% случаев php рулит.
|
K началу
|
|
|
Stek
Зарегистрирован: 24.10.02
Сообщения: 1613
|
Добавлено: 24/02/04 в 23:28
|
|
Народ, вы уже определитесь, что сравниваете php - это такой язык программирования. cgi - это интерфейс для запуска других программ, которые могут быть написанны на perl, c, c++, shell, bat, pithon и прочее, включая и php
Так что предлагаю определится с выбором
|
K началу
|
|
|
Pentarh
Зарегистрирован: 05.04.03
Сообщения: 2378
|
Добавлено: 24/02/04 в 23:44
|
|
Xrenoder писал: | Pentarh писал: | - На небольших трафиках (до 10к где-то), быстродействие не очень сильно отличается. Выше - больше. CGI на C/C++ ессесно быстрее намного будет.
| Хммм. Довольно спорное утверждение. |
Вероятно, ты прав.
Stek: Все прекрасно знают, что CGI это интерфейс (Common Gateway Interface) а не язык программирования. Имелось ввиду сравнение языков, юзающихся в CGI и mod_php (т.к. есть CGI-версия PHP). Я правильно понял?
Вопрос на засыпку. А че за хрень это PHP-FastCGI? Кто может сказать че нить в сторону производительности и юзабельности?
|
K началу
|
|
|
Gary
Зарегистрирован: 25.12.99
Сообщения: 664
|
Добавлено: 25/02/04 в 00:40
|
|
PHP рулит
|
K началу
|
|
|
Stek
Зарегистрирован: 24.10.02
Сообщения: 1613
|
Добавлено: 25/02/04 в 01:00
|
|
Pentarh: я примерно так и догадался, что сравнивают mod_php , но не могу понять с чем ? Все таки разница между перлом и c++ будет весьма большая.
|
K началу
|
|
|
Gary
Зарегистрирован: 25.12.99
Сообщения: 664
|
Добавлено: 25/02/04 в 01:07
|
|
мне все же кажется что под CGI подразумевают Perl ..
|
K началу
|
|
|
jAPAN
Зарегистрирован: 18.10.02
Сообщения: 48
|
Добавлено: 25/02/04 в 01:49
|
|
Gary писал: | мне все же кажется что под CGI подразумевают Perl .. |
CGI это вообще интерфейс. Бывает и cgi-php =) А по поводу быстроты выполнения - подпишусь под каждым словом Хренодера, в свое время я сам удивлялся :-)
|
K началу
|
|
|
Gary
Зарегистрирован: 25.12.99
Сообщения: 664
|
Добавлено: 25/02/04 в 02:08
|
|
jAPAN писал: | CGI это вообще интерфейс. Бывает и cgi-php =) ... |
это я знаю ;) , я имел ввиду что неискушённый люд часто под цги подразумевает перл ..
|
K началу
|
|
|
Xrenoder
Зарегистрирован: 14.09.00
Сообщения: 632
|
Добавлено: 25/02/04 в 03:05
|
|
Pentarh писал: | Вопрос на засыпку. А че за хрень это PHP-FastCGI? Кто может сказать че нить в сторону производительности и юзабельности? |
FastCGI - это дальнейшее развитие cgi интерфейса, которое избавлено как раз от упомянутого недостатка - создания каждый раз нового процесса. Видимо PHP-FastCGI это php с использованием технологии fastcgi. Я в свое время пробовал с fastcgi поработать (на С) - мне не понравилось: скрипты надо несколько по-другому писать и еще там какие-то геморы были вроде с распределением памяти, и я не стал продолжать. Тем более что для того, чтобы это работало, надо доинсталлировать дополнительную блятеку fastcgi, которая в стандартный набор блятек пока не входит. Короче, если пишешь исключительно для себя - можно заморочиться попробовать, если для других - возрастает гемор с установкой. В общем я пока для себя от этой технологии отказался. Дело было год назад, вряд ли что-то с тех пор принципиально изменилось.
|
K началу
|
|
|
undef
Зарегистрирован: 15.09.03
Сообщения: 357
|
Добавлено: 25/02/04 в 12:29
|
|
CGI почти всегда будет проигрывать ПХП программе, если апач работает с ПХП собраным как DSO модуль.
Если запускать Перл как CGI без mod_perl в апаче, то производительность будет очень низкая. Для каждого запроса к такому скрипту апач будет запускать экземпляр перла в память, а это несколько лишних мегабайт в оперативнойц памяти.
Скрипты на СИ работают конечно быстро, но их очень сложно отлаживать. Конечно если вы не юзаете всяких хитрых классов на С++ которые обеспечивают нормальную отладку и т.д.
ПХП почти идеальный выбор для небольших проектов, но это компромис между удобством и скоростью (в сторону скорости). Под удобством я понимаю _нормальную_ ООП модель. Хотя вот сейчас ПХП 5 уже в бета появилась, там обещают реальный ООП.
Есть еще хороший вариант - ява и сервлеты. Это очень мощная платформа, но ее выбор оправдан при наличии большого бюджета, и если проект действительно сложный.
во избежании фаллометрии, которая неизбежно начинается каждый раз при поднятии тем типа Perl vs. PHP, я скажу - все это ИМХО [/b]
|
K началу
|
|
|
AnToXa
Зарегистрирован: 06.12.02
Сообщения: 22
|
Добавлено: 25/02/04 в 22:38
|
|
хм. а бывают еще демоны написанные например на C++, которые тоже общаются с сервером через CGI, и это все работает настолько быстро, что никакие php as module и standalone apps via CGI рядом не валялись.
|
K началу
|
|
|
Stek
Зарегистрирован: 24.10.02
Сообщения: 1613
|
Добавлено: 25/02/04 в 23:24
|
|
Угу, а некоторый сразу же свой модуль в апач встраивают, что может еще быстрее в работе быть. Некоторые же, вообще свой демон вместо апача ставят, а это и еще быстрее
Топик то, так мирно начинался, с такого вопроса простенького ... вот что значит не сформулировать четко вопрос
А вообще isapi рулит !
|
K началу
|
|
|
AnToXa
Зарегистрирован: 06.12.02
Сообщения: 22
|
Добавлено: 25/02/04 в 23:39
|
|
Stek писал: | Угу, а некоторый сразу же свой модуль в апач встраивают, что может еще быстрее в работе быть. Некоторые же, вообще свой демон вместо апача ставят, а это и еще быстрее
Топик то, так мирно начинался, с такого вопроса простенького ... вот что значит не сформулировать четко вопрос
|
0. имхо - для большинства задач лучший выбор: свой демон + модуль в апач для форвадра запросов туда сюда.
1. свой _серьезный_ модуль в апач - гораздо сложнее варианта номер 0, ибо получаем кучу проблем с необходимостью разделения данных между процессами апача, которые могут еще и плодиться в сумасшедших количествах, да и для второго апача есть разные тредовые и гибридные mpm-модули, так что плюс проблемы с портабельностью внутри host application + необходимость писать thread-safe код даже если модуль юзается в префорк модели.
2. свой демон на 80 порт - реализовывать http/1.1 - очень непростая штука.
кстати, не факт, что скорость вариантов 1 и 2 буддет заметно выше варианта номер 0, как говорится: бабушка надвое сказала.
|
K началу
|
|
|
Xrenoder
Зарегистрирован: 14.09.00
Сообщения: 632
|
Добавлено: 26/02/04 в 00:55
|
|
AnToXa писал: | 0. имхо - для большинства задач лучший выбор: свой демон + модуль в апач для форвадра запросов туда сюда.
|
Нууу... во-первых, все-таки для большинства задач это избыточно. Оправдано только для тех задач, которые требуют постоянного обращения к общим данным и их модификации. Опять же, для 90% таких задач комбинация mysql+php вполне достаточна. Там где "не достаточна" - достаточно будет комбинации "свой демон + php", более того, это обычно гораздо более удобный вариант, чем писать свой модуль для апача, поскольку в php уже вшито дохера возможностей по предварительной обработки данных из веба. В варианте "свой модуль" программеру предлагается каждый раз ебстись, когда возникает необходимость слегка изменить обработку данных на входе.
|
K началу
|
|
|
AnToXa
Зарегистрирован: 06.12.02
Сообщения: 22
|
Добавлено: 26/02/04 в 01:05
|
|
Xrenoder писал: | Нууу... во-первых, все-таки для большинства задач это избыточно <дальше покоцано> . |
все так, но посмотри на какой пост я отвечал и ответ был как раз к цитате, а не к изначальному вопросу, который сформулирован слишком размыто
|
K началу
|
|
|
DF™
Зарегистрирован: 25.11.01
Сообщения: 67
|
Добавлено: 26/02/04 в 04:10
|
|
Ну вы народ ответили девушке! Уверен она все поняла!
Можно долго спорить что лучше или быстрее C++, PHP, Perl и что для чего применять. На практике обычно выбор не большой. Можно конечно: "свой демон + модуль в апач для форвадра запросов туда сюда" - круто, а оно вам надо? Требуется - программист профи, свой сервер, много времени на отладку и большая куча денег! Вам все еще это надо? На свой класс задач надо применять свои методы, будете брать с запасом можете потерять в деньгах и времени. Зависимость скорости от себестоимости далеко не прямая.
Для 90% скриптов никаких наворотов не надо. Выбирать в основном можно из Perl или PHP, С/С++ это уже другая квалификация (дороже)!
Если возникают такие вопросы - что лучше, скорей всего вам все-равно - вы новичок и прохо разбираетесь что к чему. Главное чтоб вам написали то что надо, более-менее грамотно и в нормальный срок. Если у вас на примете есть нормальный программист в котором вы УВЕРЕНЫ, который не только рассуждать о программировании умеет, пусть сам пишет на том что лучше знает (PHP,Perl). У есть хорошие шансы что вам напишут то что надо и за приемлимую цену. Будете импровизировать, пожал-ста - исход не однозначен!
Тонкость! Программы вам могут поставляться в качестве исходников (Perl,PHP), а могут в качестве бинарного кода или в зашифрованном виде. Если в качестве исходников вы всегда сможете нанять другого программиста чтоб вам переписали или добавили что-то, в противном случае модернизация на стороне будет затруднена, вы зависите от автора.
|
K началу
|
|
|
Xrenoder
Зарегистрирован: 14.09.00
Сообщения: 632
|
Добавлено: 26/02/04 в 05:23
|
|
DF™ писал: | Ну вы народ ответили девушке! Уверен она все поняла!
|
Грузинское вино "Пасидели папиздели"
|
K началу
|
|
|
sexvendor
Зарегистрирован: 07.10.03
Сообщения: 66
|
Добавлено: 26/02/04 в 06:46
|
|
DF™ писал: | ...... На практике обычно выбор не большой. Можно конечно: "свой демон + модуль в апач для форвадра запросов туда сюда" - круто, а оно вам надо? Требуется - программист профи, свой сервер, много времени на отладку и большая куча денег! Вам все еще это надо? |
ну разве что только последнее:)
|
K началу
|
|
|