информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяАтака на InternetСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / web building
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Зависит от конкретной ситуации. 20.12.05 17:55  Число просмотров: 3492
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 20.12.05 17:58  Количество правок: 1
<"чистая" ссылка>
Зависит от конкретной ситуации.

Например, если проблема более вычислительного характера, то интерпретаторы проиграют. Тем более, если код не прикомпилирован, то время еще потратится на синтаксический анализ.

Если же нужно дергать медленные системные функции (диск форматировать или по сети лазить), то побарабану. Накладные "расходы" на интерпретацию будут незаметны.

Если же к модулю слишком часто обращаются, то может выиграть интерпретатор. Такая ситуация крайне экзотическая и выигрыш незначителен, но используют интерпретаторы для удобства и скорости написания и сопровождения.

Чаще всего скорость сети значительно тормознутее, чем обработка данных на сервере. Поэтому нет смысла замарачиваться.
Во главу угла надо поставить "Возможно ли реализовать данную задачу этим инструментом". На втором месте "Скорость разработки и удобство поддержки". Последнее быстродействие, если на это не делается особого упора и применение именно этого инструментария не дает колоссальный эффект.
<web building>
cgi и модули 20.12.05 15:11  
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
<"чистая" ссылка>
Есть такой вопрос: что работает быстрее, cgi-приложения (к примеру на С) или вещи типа mod_php, mod_perl (пусть речь идёт только об Apache).
Искал в интернете - там на форумах все кидаются друг в друга какашками, меряются письками и посылают друг друга на$#$.
Из разумных аргументов удалось вычленить:
-откомпилированные cgi-приложения (т.е. не требующие запуска интерпретатора) работают быстрее, потому что не требуется пошаговая интерпретация;
-при значительных нагрузках меньше нагружают сервер модули, т.к. не требуется создания отдельного процесса для выполнения программы;

Однако встречаются и совсем другие мнения, подтверждённые собственными бенчмарками и личным опытом. В общем, я так и не понял.
Расскажите мне, пожалуйста, вкратце, что будет работать быстрее в режиме реальной нагрузки - скомпилированный cgi (например, на С) или модуль загружаемый, но с интерпретацией (типа PHP). Если это зависит от задач или условий каких-то, то тоже, если можно, вкратце о задачах и условиях этих.

Спасибо.
Зависит от конкретной ситуации. 20.12.05 17:55  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 20.12.05 17:58  Количество правок: 1
<"чистая" ссылка>
Зависит от конкретной ситуации.

Например, если проблема более вычислительного характера, то интерпретаторы проиграют. Тем более, если код не прикомпилирован, то время еще потратится на синтаксический анализ.

Если же нужно дергать медленные системные функции (диск форматировать или по сети лазить), то побарабану. Накладные "расходы" на интерпретацию будут незаметны.

Если же к модулю слишком часто обращаются, то может выиграть интерпретатор. Такая ситуация крайне экзотическая и выигрыш незначителен, но используют интерпретаторы для удобства и скорости написания и сопровождения.

Чаще всего скорость сети значительно тормознутее, чем обработка данных на сервере. Поэтому нет смысла замарачиваться.
Во главу угла надо поставить "Возможно ли реализовать данную задачу этим инструментом". На втором месте "Скорость разработки и удобство поддержки". Последнее быстродействие, если на это не делается особого упора и применение именно этого инструментария не дает колоссальный эффект.
Скомпилированный модуль [upd] 20.12.05 15:33  
Автор: amirul <Serge> Статус: The Elderman
Отредактировано 20.12.05 15:44  Количество правок: 1
<"чистая" ссылка>
> Из разумных аргументов удалось вычленить:
> -откомпилированные cgi-приложения (т.е. не требующие
> запуска интерпретатора) работают быстрее, потому что не
> требуется пошаговая интерпретация;

Это by design и избавиться от этого невозможно

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

А вот от создания отдельного процесса избавиться можно. Ведь и perl и php в детстве тоже запускались отдельными процессами.

> Расскажите мне, пожалуйста, вкратце, что будет работать
> быстрее в режиме реальной нагрузки - скомпилированный cgi
> (например, на С) или модуль загружаемый, но с
> интерпретацией (типа PHP). Если это зависит от задач или

Как по мне, если действительно имеет значение ТОЛЬКО скорость работы, то наилучшим вариантом будет CGI на C/C++, только не в виде stand-alone приложения, а в виде модуля апача.

Опять таки, лично мое мнение, преимущества Perl/PHP перед C/C++ при разработке Web приложений лежат совершенно не в плоскости скорости РАБОТЫ (по этому параметру C/C++ рвут все интерпретаторы в клочья), а в скорости РАЗРАБОТКИ.

----------------

Да, кстати, все велосипеды оказывается уже изобретены
http://en.wikipedia.org/wiki/Fastcgi
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach