Будет ли PHP-скрипт, работающий поверх Apache, быстрее, чем отдельная программа на C #, выполняющая ту же функцию (тот же алгоритм подсчета)? - PullRequest
0 голосов
/ 18 июня 2010

Я имею в виду, что PHP-скрипты на Apache ориентированы на то, чтобы многие пользователи одновременно использовали tham.

Таким образом, 1000 запросов, поступивших в (относительно) одновременно, будут полностью обрабатываться быстрее, чем программа C # .Netвыполнять алгоритм 1000 раз в цикле while?

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

Алгоритм:

  • Открыть файл (для каждого разного размера (от 1 до 500 мб) (FLV видеофайлы))
  • Чтение в двоичном режиме и трассировка при чтении информации о контейнере и его компонентах, а также о других вещах
  • Сохранение отслеженной информации в файл

Кто будет быстрее на некоторых1000 раз выполнения алгоритма или 1000000, и в этом случае (если это возможно) один переполнит другой?

(на 2 процессорах Intel Xeon 2600 МГц (каждый с 4 ядрами в iт))

Ответы [ 4 ]

2 голосов
/ 18 июня 2010

Скомпилированные программы (C #) будут в 99% случаев быстрее, чем интерпретируемые (PHP)

1 голос
/ 18 июня 2010

Возможно.

Если программа на C # выполняет операцию в цикле, она выполняет только по одному за раз (если вы не используете новые параллельные расширения в .NET 4, то есть).

С помощью PHP-скрипта он будет выполняться параллельно, поэтому он МОЖЕТ быть быстрее в зависимости от того, сколько у вас процессоров и что именно делает скрипт (это ЦП, IO и т.

0 голосов
/ 22 июня 2010

Зависит от деталей реализации, но:

  1. PHP может быть быстрее, если вы будете использовать fastcgi + eaccelerator, а C # не сможет обработать несколько запросов
  2. C # будет абсолютно быстрее, если реализацияТо же самое, и служба C # использует возможности многопроцессорной обработки.
0 голосов
/ 18 июня 2010

Ваш процессор не сможет обрабатывать 1000 PHP-запросов одновременно.

Сказать, что быстрее, нелегко, потому что двухпроцессорная система могла бы запускать 2 PHP-скрипта за раз, но C # JIT-компилируется и не интерпретируется как PHP, поэтому трудно догадаться, что быстрее время;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...