nodejs, but is this correct? What are the alternatives? Why do we need/care about these alternatives?
Node has made all this possible. It is a simple but not to simple runtime, that gives you enough to build powerful apps.
On my job I consider myself a polyglot developer, so I'm surrounded by
ChakraCore and most recently GraalVM. According to their website:
To my despair, the best result of
nodejs ranks at #52, so I decided to see what can we do to improve this. Looking at the benchmark source code turned out to not help much as there were no obvious performance bottlenecks, so I've decided to look outside of the box/
So at the first sight,
GraalJS does not seem to give us much of an improvement, a few wins here and there, but on the other hand, what the Techempower benchmarks is showing is that, on the long run, jobs on the JVM tend to be the fastest.
Create a modern EcmaScript runtime on top of the Eclipse Vert.x toolkit using the capabilities of the JVM/GraalVM
In order to keep the project maintainable I've decided to keep it minimal:
- Provide a
- Develop using a node/npm style a.k.a.
- Support debugging with chrome inspector
- IDE support using TypeScript Definitions
After a couple of iterations and feedback, I've decided to implement the bechmark. So I've started with:
npm init -y npm add vertx-scripts --save-dev npm add @vertx/core --save-prod npm add @vertx/web --save-prod npm add @reactiverse/reactive-pg-client --save-prod npm install
This looked pretty much
nodejs friendly to me, so I've implemented the benchmark and went over the process of being reviewed by the community and being merged into the master branch. And when that happen something amazing emerged:
Vert.x were not just fast, but by far the fastest when compared to
Spring Framework as a reference to the most common framework used in Java), but even faster that the pure
Java counterpart of the benchmark using the same dependencies
In fact the results are amazing as it puts