Как vert.x обеспечивает более высокую производительность по сравнению с Netty?

Недавние тесты производительности TechEmpower показывают, что vert.x опережает Netty, иногда значительно. Согласно его веб-сайту, vert.x использует Netty для «большой части своего сетевого ввода-вывода». Если да, то как он обеспечивает более высокую производительность по сравнению с Netty?

(Примечание: это не предназначено для споров или подстрекательств — я действительно хочу знать причины компьютерных наук, лежащие в основе разницы в производительности. Спасибо.)


person osman    schedule 21.05.2014    source источник
comment
Поскольку это зависит от настройки бенчмарка, ссылка будет полезна :)   -  person Wildfire    schedule 22.05.2014
comment
К сожалению, vert.x указан как «Удален по запросу сопровождающего фреймворка — устаревшая версия», поэтому сейчас трудно сказать. Возможных причин много: лишнее копирование памяти в одном из тестов, разные версии библиотеки netty (или другой), более JIT-дружественный код, лучшее предсказание переходов и т.д.   -  person Wildfire    schedule 22.05.2014
comment
Это не отвечает на ваш вопрос, но мне было интересно прочитать некоторые более подробные сведения о netty и vertx tech.kinja.com/   -  person Opentuned    schedule 03.07.2014
comment
Это зависит от того, о каком бенчмарке вы говорите, их несколько, и vertx работает в них по разным причинам.   -  person Julien Viet    schedule 20.10.2018


Ответы (1)


Это зависит от того, о каком тесте и о каком раунде вы говорите, раунды имеют разные результаты производительности, а результаты производительности различны для каждого теста (обычный текст, json, запрос и т. д.).

Очень правильно, что Vertx использует Netty для своего ввода-вывода, и по этой причине в тестах без серверной части результаты очень похожи. В таких тестах обычно Netty немного быстрее, чем Vertx, потому что она делает меньше вещей, чем Vertx, поскольку Vertx — это библиотека для разработки приложений, а Netty — сетевая библиотека.

В тестах баз данных звездная производительность Vertx во многом связана с использованием Reactive Postgres Client это очень оптимизировано, а также обеспечивает сетевую конвейерную обработку, которая имеет значение в этом тесте.

person Julien Viet    schedule 20.10.2018