Hi there,
Some colleagues from a past life noticed vert.x on InfoQ, and had already exposure to Node.js.
I told them that vert.x had great performance compared to node, that it was "more" async, etc. but I definitely lack argumentation to prove vert.x is a better alternative.
It would be nice to have a FAQ page explaining such things, and also pointing at a proper benchmark.
The first remark I got was (translated from French) along the lines of: I don't see why vert.x would be faster.
So an explanation on why it's faster, and with some figures of a benchmark to prove the point would be great.
There were also some concerns in the sense that vert.x is pretty new and doesn't progress at the pace of node, but that's always the case with outsiders anyway, so it's kind of a dull point.
I was explaining that everything was fully async, perhaps more than node.
Am I wrong in saying that?
For example, the guy was saying that everything is async in node, even things like the redis, memcached, file system driver.
Is it totally true? And is vert.x really doing better in that area?
I was pointing at the fact that vert.x was multithreaded, that it had several event loops, as many as the number of cores, and that it made things work in a more fluid way, as there's less waiting / blocking on a single event loop. But the guy was saying that you just need to start as many node as cores, and that it worked well.
However, he reckoned that due to multi processes, you had no shared memory, you could have issues with logs, and that other projects like Ruby with Unicorn had the same issues, but that it wasn't too hard to deal with that (without further details).
So in benchmarks, is vert.x running better with multithreading than one standalone node.js per core?
We need answers to such common questions to be able to properly advertise vert.x and show the world it's a great alternative to Node.js :-)
I'm looking forward to reading your answers and to spreading the word!
--
Guillaume Laforge
Groovy Project Manager
SpringSource, a division of VMware