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