Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Isn't the JVM too big of a performance compromise for large scale software where every bit of performance matters?

Actually no - having a good concurrent garbage collector actually helps a lot.

Consider any message passing system. Messages come into the system, you create an immutable object, and send a reference to that object to other subsystems. Eventually, when each subsystem has processed that object, it is garbage collected.

In C++ you need to manually handle tracking the object and deleting it when it's no longer needed. This dramatically hinders the sort of systems you can reliably build.

Further thoughts on this here: http://www.chrisstucchio.com/blog/2013/why_not_python.html

As for low level performance, the JVM is actually very fast - i.e., nearly as fast as C. The main places where it becomes an issue is that you can't always control the cache locality of objects.

    class Foo {
      val bar: Bar
      val y: Int
    }
In C/C++ you can demand that foo.bar be stored in the same page. On the JVM you can't.


Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: