Почему Erlang подходит для мягких приложений реального времени, но не для жестких приложений реального времени?
Или, может быть, это хорошо для жесткого реального времени?
3 ответа
Сбор мусора может привести к непредсказуемым паузам; как таковой, вы не можете установить жесткие верхние границы задержки. Определение жесткого реального времени в основном заключается в том, что вы можете установить жесткие границы задержки, так что это проблема.
О, никто не ответил, почему это хорошо для мягкого реального времени, хотя:
В Erlang каждый процесс имеет свой собственный сборщик мусора. Таким образом, если каждый процесс хранится в довольно маленькой куче, то паузы в GC, как правило, очень малы, и это дает действительно хорошее поведение в реальном времени.
В 2008 году Винченцо Никосия представила презентацию, рассказывающую о работе над HRT erlang (HARTE), в которой также описаны проблемы, связанные с тяжелым режимом реального времени текущего BEAM и т. Д. Посмотрите на http://www.erlang.org/workshop/2007/proceedings/05nicosi.pdf