Skip to content

net.box: Performance improvements

Alexey Protsenko requested to merge feature/net.box-perf into master
  • Избавился от дублирования сокета. Теперь и для приема, и для отправки используется один сокет.
  • Уменьшил количество read-вызовов. Из сокета читается максимум, за тем разбирается в цикле.
  • Уменьшил количество write-вызовов. При плотном потоке реквестов: флаш буфера происходит с интервалами, а не сразу как появляются данные.
  • Избавился от lock'ов
  • Исправил проблему с множественными обновлениями схемы.
  • Более быстрое декодирование респосов, содержащих 1 строку. Было: декодировать как многострочный респонс + взять только первую строку. Стало: отдельный декодер.
  • Корректная финализация буфферов.
  • Лимитирование исходящего буфера. При достижении лимита, файберы, которые отправляют реквесты блокируются до следующего флаша.
  • Размеры буферов и прочие параметры вынесены в конфиг.
Edited by Alexey Protsenko

Merge request reports