Looks like Oracle’s continued push for Java everywhere, from the “Internet of things” on down, isn’t just based on hype. At least one set of numbers puts Java’s performance head and shoulders above that of the competition for server-side Web frameworks. But is performance alone enough to win over the non-Java faithful?
Since March 2013, software development firm TechEmpower has been running an ongoing series of performance benchmarks for dozens of popular Web application server frameworks, such as Ruby on Rails or Django. Each successive round of tests has benefited from community feedback, with the benchmarks themselves released as open source on GitHub. Those interested in having their own frameworks benchmarked can fork the code, add their own tests, and submit the results.
When the seventh round of TechEmpower benchmarking concluded at the end of October — with 84 frameworks and some 200 different test permutations — the dust settled to reveal that many of the frameworks that performed best across the board were Java-based. Four frameworks in particular stand out: Gemini, Grizzly (created to allow easy use of Java’s New I/O API), Undertow, and Vertx.
What’s most striking is how many of the frameworks that are better known — such as Sinatra for Ruby, various ASP.Net frameworks, and the aforementioned Django for Python — had performance that ranked sometimes orders of magnitude below the big winners. The new kid on the block, Node.js, did exhibit impressive performance, but still only clocked one-fourth to one-third the performance of the fastest contenders.