Skip to content

Latest commit

 

History

History
26 lines (18 loc) · 1.18 KB

C10K.md

File metadata and controls

26 lines (18 loc) · 1.18 KB

The C10K problem

проблемы :

  1. Thread

  2. Unix.select : получает и возвращает списки и это под нагрузкой трешит GC.

  3. много Callback.register: дорогая регистрация, все коллбэки регистрируются в global_root'ы,

    • решение - коллбэки диспатчить через хэштаблицу прямо в камле

решения :

  1. писать event-driven
  2. написать свой враппер на массивах, использовать libevent или более прямую альтернативу - libev
  3. вместо того, чтобы писать callback код, делать инверсию выполнения с помощью cps + pa_monad.
    • это сделано в lwt собственно и можно использовать libev (либо другие асинхронные обёртки) вместо select.