2010-01-31 1 views
11

Chicago Boss кажется аккуратным каркасом и хорошим предлогом для изучения Эрланг.Кто-нибудь там, используя Чикагский босс?

Были ли у вас какие-либо из них? Могу ли я действительно получить отлично производительность хостинга его на одной машине?

+1

На самом деле я нашел создателя Чикаго Boss здесь другой день. Удивленный он еще не прокомментировал вас. – samoz

+2

Странно, как два года спустя это внезапно «вне темы». Ответы здесь очень полезны, даже если вопрос не правильно оформлен. Можно ли изменить флажок? – user94154

ответ

4

Я не могу говорить о производительности Chicago Boss специально, но веб-серверы Erlang, как правило, очень быстр.

Они также очень хороши для нескольких одновременных соединений из-за примитивов параллелизма Erlang. Я знаю, что Chicago Boss не использует Yaws, но вот график Apache vs. Yaws, только для справки.

Согласен, C во многих случаях быстрее, но с любой скоростью, которую вы получите от обработки C, вы потеряете, когда у вас будет несколько пользователей. Подумайте об этом так:

  • C может потребоваться 10 единиц времени для выполнения задачи, но 20 единиц для перехода к следующему клиенту и обратно.
  • Erlang может занять 15 единиц времени, но для переключения клиентов потребуется около 5 единиц.
  • ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Единицы времени - это только относительные условия. Я тоже не говорю, что это правильные пропорции. Я просто говорю, что преимущество скорости C не будет таким большим фактором, как только вы начнете с нескольких вещей, происходящих сразу, и это то, ради чего сделан Эрланг.
1

Как правило, Эрланг примерно в 4-5 раз медленнее, чем то же, что и в C, хотя то, что он теряет в скорости, выигрывает в эффективности, простоте и стабильности. Выполняя то, что превосходит Эрланг, я думаю, что он находится примерно в 2-3 раза от C. Он также может быть скомпилирован в родные двоичные файлы, чтобы ускорить его на 20% больше.

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

О, и о отличной производительности на одной машине: не более половины того, что приложение C. Но опять же, это, вероятно, в 30-40 раз быстрее, чем эквивалент в ruby, php или python.

+0

Так что же такое Эрланг? Кроме того, разве Erlang не заботится о многих вещах, с которыми вам приходится иметь дело в ручном режиме на C (например, при сборе мусора)? – user94154

+1

Да, это то, что я имею в виду с эффективностью, простотой и стабильностью. В основном то, что занимает 10 строк кода в Erlang, занимает 100 на C. И обработка ошибок в Erlang мертва проста, а также порождает новые процессы. Эти вещи занимают много времени на разработку в C. И Erlang имеет 99,9999999% времени безотказной работы в реальных приложениях, просто потому, что она предназначена для сбоя без сбоев, потому что ее нужно использовать в телекоммуникациях и т. Д. И вы можете обновить свое приложение во время его работы, что очень редко. –

+1

О, и о сборе мусора .. нет такой вещи, как таковой. У Erlang нет состояния, это функциональный язык. Переменные могут быть установлены только один раз, поэтому переполнение памяти не может произойти (если вы не сильно забудете или не сделаете это специально). –