4 ms·
Good to see Java is holding its own.
by axlerunner 13y ago
Good to see Java is holding its own.
- ddellacosta 13y agoI don't particularly love Java itself, but it is quite impressive how Java and other JVM languages are pretty much ass-kicking at the top of the list. That seems to go for heavyweight stuff as well as simpler "micro" frameworks. I guess if anything it speaks to what a solid piece of software the JVM is.
- pjmlp 13y ago> I guess if anything it speaks to what a solid piece of software the JVM is. While true, it all depends which JVM one talks about, there are plenty to choose from, even native code compilers.
- exabrial 13y agoYah, I noticed nearly all of the top frameworks are Java or JVM based. Pretty cool! I just noticed something, the two major JSF2.0 implementations MyFaces and Mojarra are both missing.
- TheKickOff 13y agoI was just thinking the same thing. Someone should definitely contribute a JSF test and if possible it should be run on both those implementations.
- bjhoops1 13y agoReally. I've recently been getting into node/express after years of Java, and these results make me feel a whole lot less cool.
- exabrial 13y agoWell no matter what you use, you should always benchmark for that exact reason. Making things go fast takes a lot of performance engineering, and the JVM has millions of dollars worth of tuning put into it. BTW, if you like Node.js, you should probably look at Vert.x. I haven't used it, but it's a similar concept, it runs on the JVM, and it seems to spank Node.js.
- tlear 13y agoWhen you benchmark Vert.x on a multicore system vs 1 node process. Now add multiple node processes to occupy the cores and store changes completely
- aphyr 13y agoIndeed. Node's IPC costs are orders of magnitude slower than Java's volatile or atomic datatypes. I would only choose Node for stateless or trivially parallelizable problems--e.g., those where I could push the state problem into a runtime with real threads. http://aphyr.com/posts/244-context-switches-and-serialization-in-node http://aphyr.com/posts/244-context-switches-and-serializatio...
- qw 13y agoThe benchmark is using multiple Node processes.
- axlerunner 13y agoI got on the Node thing for awhile too, but went back to Java/JBoss/Tomcat/Spring. If you are skilled with the Java stack it is hard to beat for performance and breadth. If you are not, well, I admit the learning curve is steep.
- bjhoops1 13y agoI definitely agree for large applications. But for quickly spinning up a few light service endpoints, Node can't be beat. Especially if you are using JSON-based persistence like MongoDB or CouchDB, using JSON all the way from database to the client is a huge win. I get tired of writing lots of JAXB POJOs to map my JSON objects to and from, especially early on in development when those definitions change rapidly. That's why enjoy using Node, especially for "toy" projects. Less boilerplate and more productive quickly. Side note: I find myself wishing Node had Annotations and AOP... one of Java's coolest (though oft-misused) features IMHO.
- tensor 13y agoYou should look into clojure/compojure. You can get higher performance and write even less code.
- oberhamsi 13y agotry our RingoJs: it's JS on the JVM. Scripting Java with JavaScript.
- deleted 13y ago[deleted]
- deleted 13y ago[deleted]
- bjhoops1 13y agoThis, just in case noobs were not confused enough by Java/JavaScript? :)
- oberhamsi 13y agoconfusing but accurate :) The ability to script Java is one of Ringo's killer features - for this benchmark, for example, we dropped in two jars (JDBC myqlconnector & connection pooling from apachecommons) and glued them together with 10 LOC of JS.