Эта страница переведена с английского языковой моделью. При любом расхождении верен английский оригинал.
Числа
Что измеряют числа бенчмарков ruststream-amqp и каких выводов они сделать не позволяют.
Сравнение с сырым клиентом
Три цикла одной строки сравнимы между собой: они шли в одном процессе, чередуясь, на одном брокере. Со строкой, которую публикует другой крейт брокера, строка не сравнима: транспорты выполняют на сообщение разную работу. Другой брокер AMQP 1.0 сдвинул бы все три числа строки вместе, поэтому образ брокера публикуется рядом с ними.
Брокер работает на той же машине, через loopback. Без сетевой задержки та же стоимость сообщения составляет большую долю времени, чем с брокером за сетью. Читайте процент как верхнюю границу того, что платит развёрнутый сервис.
Отрицательная разница - это чтение вперёд, а не экономия кода: подписка крейта продолжает принимать, пока цикл над ней работает, а сырой цикл этого не делает.
Строка «упирается в брокер» - та, где потребитель большую часть прогона ждал брокер. Работа крейта и рантайма тогда укладывается в это ожидание, и разница выходит около нуля. Это нижняя граница стоимости, а не её измерение.
Стоимость кода
Счёт инструкций включает код этого крейта, рантайм над ним и работу клиента fe2o3-amqp на
потоке сервиса. Он немного меняется от прогона к прогону, потому что брокер настоящий. Тот же счёт
стоит больше времени там, где код промахивается мимо кэша, поэтому счёт инструкций - не время.
Каждое число - установившийся режим, разность между прогоном на 1000 доставок и прогоном на 2000. Подключение, присоединение и первые выделения памяти за ними - холодный старт, который оплачивается один раз.
Чего они не значат
Строка - это один потребитель, который читает один адрес очереди, небольшое тело и один брокер. Она измеряет, сколько стоит доставка внутри этого крейта, а не сколько способен пропустить брокер.
Сравнение измеряет только сторону приёма. Сколько стоит публикация на потоке сервиса, показывает строка ответа на графике кода. Пропускную способность публикации ограничивает круговой обмен с брокером, потому что публикация ждёт своей диспозиции, как показывает страница Путь.
Числа - снимок одной машины в один день, а рядом с ними записана сборка. Их перемеряют вручную, на машине, отданной только прогону: различия, которые они показывают, меньше шума общей машины.