[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: systemd



On Пт, ноя 13, 2015 в 9:59 , Dmitry E. Oboukhov <unera@debian.org> wrote:
пожалуйста подробнее про оверхед в текстовых протоколах, а то я видимо что-то пропустил

Бинарный протокол должен быть экономнее по памяти, например число будет одним байтом представлено вместо числа байт равному числу цифр, имена полей будут кодами вместо человекопонятных наименований.
А если протокол ещё и с фиксированным размером полей (чего в текстовых протоколах обычно не делают), то и парсинг его будет быстрее не нужно ходить по байтам и смотреть не конец ли это строки - сразу режем кусок нужного размера. В принципе бинарный протокол даже с полями переменной длинны должен быстрее парсится, ибо обычно там есть размер поля (про TLV уже упоминали тут), а значит не надо ползти по байтам и искать конец значения.

Но как я уже говорил не стоит зацикливаться на бинарности протокола, это не ключевая и не архитектурная проблема, сделайте форк systemd, замените протокол на текстовый и предложите сообществу, я даже подозреваю что для этого надо внести изменения в одну либу.
А разговоры о связи текстовых протоколов со свободой не совсем уместны, текстовый протокол без документации тоже может быть непонятным, поэтому важно наличие открытой спецификации, а реализация вторична.
Момент с парсингом бинарного протокола на разных типах машин может быть проблемой, но как-то видимо решается, tcp вроде работает.

Касательно бинарного лога тут уже сказали что это нужно для индексирования, а значит и ускорения выборок, добавлю что идущая в комплекте тулза умеет полезные вещи типа выбрать лог за период времени, грепом такого нормально не сделаешь

Reply to: