Compared to non-JVM frameworks, it’s mainly the JVM JIT that does the trick. People usually disregard it, but JVM JIT is the state of the art.
Compared to JVM frameworks — it really depends. Older frameworks use thread-per-request model, which is not as efficient as event loop. Newer frameworks often carry some legacy (SpringBoot) or have more functionality (Akka based solutions). They have their benefits, but when we talk speed and concurrency, Vert.x simply does it better.