4 ms·
Why do these companies like the JVM so much? Twitter, and now Facebook. Does it have that great of performance?
by prezjordan 14y ago
Why do these companies like the JVM so much? Twitter, and now Facebook. Does it have that great of performance?
- jrockway 14y agoYes. http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php http://shootout.alioth.debian.org/u64q/which-programming-lan... Note that Java compares very favorably with C. (Of course, the real thing to take away from that chart is: why don't all the JVM users switch to Haskell? It's more concise, safer, and has a better community.)
- SkyMarshal 14y agoMany JVM developers for whom programming is craft rather than a day job are definitely looking at both Scala and Haskell. Lots of excellent stuff going on with both, as you point out - concise, safer.
- tedunangst 14y agoThe JVM can be bootstrapped relatively easily compared to Haskell. It's just C++ code. If I gave you a computer with a C and C++ compilers, and the ghc source, what would you do?
- jrockway 14y agoI'd make a snide comment about receiving a phone call from 1980 asking for their computer back.
- tristanj 14y agoNow that benchmark you linked has a hidden bias towards Java. If you read the methodology listed in their FAQ, they mention they ran each benchmark for Java 66 times in the same JVM instance before discarding the first 65 results, which leaves out the initial iterations before JIT has kicked in. For servers, which perform many similar operations for each client and are rarely restarted, the benchmark you posted is probably valid. But for jobs that wouldn't benefit from JIT, Java would perform much more slowly.
- igouy 14y agoNOT TRUE. If you read the methodology listed in their FAQ, they state in bold - "Time measurements include program startup time". http://shootout.alioth.debian.org/help.php#time http://shootout.alioth.debian.org/help.php#time If you read the section "What about Java?" they mention ADDITIONAL measurements, which are only shown on the Help page, and indicate how little difference JVM startup time makes once these programs have run for 5 seconds and 20 seconds. http://shootout.alioth.debian.org/help.php#java http://shootout.alioth.debian.org/help.php#java
- fleitz 14y agoThere aren't that many problems with the JVM compared with Java. Most of what makes java suck is the language and what makes the performance sluggish is the standard lib as well as the programming style the community encourages. As much as I love to rag on java the language the JVM is generally a solid piece of work that makes reasonable tradeoffs.
- antihero 14y agoHow does it compare with the CLR, or things like LLVM?
- fleitz 14y agoI'd say it's on par with the CLR, similar corner cases, similar annoyances. The biggest problem I've had with the CLR is threads bouncing between CPUs but I'd attribute that to Windows as I worked around it with some Win32 calls to pin threads to processors. Can't really compare to LLVM, I haven't personally encountered any of the known llvm bugs (clang to be fair) with Obj-C.
- code-dog 14y agoThe JVM has a huge advantage over the CLR in that Mono is nothing like as well supported as Oracle supports the JVM and Microsoft's CLR is Windows only - which makes it far to expensive for cloud computing.
- fleitz 14y agoIf you're looking to stretch a budget I'd look to companies like Hetzner rather than looking to the cloud. I'd try to increase the revenue my server generates rather than decrease the cost of servers, but I'm the kind of guy who thinks it's possible to pull more than 5 cents an hour in revenue from a server, but if you only get 5 cents per hour then it would be important to use linux so you maintain your 2 cent per hour profit margin.
- 14y ago
- SkyMarshal 14y agoIt's one of the most scalable, robust, secure, proven mainstream web platforms available. And at almost any server-side scale it performs better than PHP, Ruby, and Python. As far as mainstream languages go, only C and C++ have a performance and scalability edge, but C++ at least comes with more complexity. JVM seems to hit the performance:complexity sweet spot.
- deleted 14y ago[deleted]
- code-dog 14y ago... and you have to work really hard to make C or C++ run any faster than the JVM. For all normal levels of programmer effort there is no difference or the JVM is faster.