22

The recent TechEmpower performance benchmarks have been showing vert.x on top of Netty, sometimes by a large amount. According to its website, vert.x uses Netty for "much of its network IO". If so, how does it achieve superior performance as compared to Netty?

(Note: This is not intended to be controversial or flamebait - I really want to know the computer science reasons behind the performance difference. Thanks.)

osman
  • 1,590
  • 1
  • 14
  • 21
  • 1
    Since it depends on benchmark setup, the link would be useful :) – Wildfire May 21 '14 at 20:55
  • Unfortunately, vert.x is listed as 'Removed at request of framework maintainer - outdated version', so it's hard to tell now. There are many possible reasons: unnecessary memory copying in one of tests, different versions of netty library (or another one), more JIT-friendly code, a better branch prediction, etc. – Wildfire May 22 '14 at 09:17
  • 3
    This dosnt answer your question but I found it an interesting read on some finer details on netty and vertx http://tech.kinja.com/interview-with-norman-maurer-netty-vert-x-1119968136 – Opentuned Jul 03 '14 at 15:06
  • It depends on which benchmark you are talking about, there are a few ones and vertx is performant in these for different reasons. – Julien Viet Oct 20 '18 at 04:25

1 Answers1

3

It depends which benchmark and which round you are talking about, rounds have different performant results and performance results are different for each benchmark (plaintext, json, query, etc...).

It is very correct that Vertx uses Netty for its IO and on the benchmarks with no back-end the results are quite similar for this reason. In such tests usually Netty is bit faster than Vertx because it does less things than Vertx since Vertx is a library for developing applications while Netty is a networking library.

In databases tests, stellar performance of Vertx is much related to the usage of the Reactive Postgres Client that is very optimised and provides also network pipelining that makes a difference is this benchmark.

Julien Viet
  • 335
  • 1
  • 3