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