Vert.x – a competitor for Node.js?

With all the hoopla around node.js and threadless concurrency it’s only to be expected that we would see similar (but different) efforts. Vert.x is one of these efforts.

Vert.x is another technology that claims to bring “effortless asynchronous application development for the modern web and enterprise”. What Vert.x really brings to the party is the ability to program in JavaScript, Ruby, Groovy and Java. The reality is that it is possible to write Vert.x applications in any JVM compatible language since that’s where it runs.

Since a vertex is a synonym for a node in graph theory, it’s fairly obvious that imitation is the sincerest form of flattery. I’m still not a huge fan of the event loop as a general concurrency strategy (as I wrote here) since it requires that you know what sort of requests you are getting. I think it’s ideal for systems concurrency rather than general concurrency since you need to know about the request before your can deal with it but it’s apparent that your mileage may vary as Node.js has proven insanely popular.

Anyway, vert.x boasts better performance (yes I know; lies, damn lies and microbenchmarks!) more languages, as many features as Node.js and even a compatibility layer so that you can run your node applications on vertex with zero changes (allegedly). The only thing it doesn’t have is the amazing community support of node.js but it certainly looks interesting.

It looks pretty interesting so why not go have a look at http://vertx.io/

One thought on “Vert.x – a competitor for Node.js?

  1. heater

    vert.x may well be a wonderfull piece of work and a worthy competitor to node.js. Currently it is let down by a widely quoted benchmark that is a complete travesty:
    http://vertxproject.wordpress.com/2012/05/09/vert-x-vs-node-js-simple-http-benchmarks/

    That benchmark shows vert.x outperforming node by a huge margin. Problem is as hard as many have tried they cannot reproduce such results and the code is not available. In my efforts at similar micro-benchmarking of simple file serving I can easily get parity between node and vertex. I can easily get node to outperform vert.x.

    I also observe that vertx takes three times as much memory and has a huge start up time compared to node.

    For other experiments that include a little JavaScript processing Vert.x can soon become 6, 10 or more times slower than node. I presume because the JS interpreter is much slower.

    The polyglot nature of vertex sounds great but it implys to me that every vertx module should be available in every language. That is a huge undertaking that I find hard to believe will ever come to fruition.

    Vertex has a dependency on Java which I personally could do without.

    Anyway my main point is that the offending benchmark should be taken down as it casts the vertex team in a bad light with it’s wild and unsubstanciated claims.

    Apart from that I wish the vert.x project well.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *