4 ms·
I'd love to have the JVM equivalent of this for my company's main desktop product, written in Java. Due to being Java (and having an embedded JRE) the app has s
by stevoski 11y ago
I'd love to have the JVM equivalent of this for my company's main desktop product, written in Java. Due to being Java (and having an embedded JRE) the app has slow startup, due to the JVM having to be started up. The installer is 90 MB on OS X, 55 MB on Windows, much of which is the embedded JRE. So our our fortnightly updates are much bigger than they need to be.
We tried an AOT compiler called JET. It was fine, albeit expensive. But it has an extremely long build time, no great for our continuous build system. It's support Java version also lags considerably behind the current Oracle Java release.
- mwcampbell 11y agoCheck out Avian (http://oss.readytalk.com/avian/ http://oss.readytalk.com/avian/). You can use it with the OpenJDK class library. You can even run your application plus the class library through ProGuard, then AOT-compile the whole thing to generate a boot image for fast startup.
- pjmlp 11y agoOracle is planning to finally add it to the standard JDK around Java 10 timeframe, but it might be a premium feature similar to the mission control licensing. https://www.youtube.com/watch?v=Xybzyv8qbOc&list=PLX8CzqL3ArzUo2dtMurvpUTAaujPMeuuU&index=16 https://www.youtube.com/watch?v=Xybzyv8qbOc&list=PLX8CzqL3Ar...
- jacques_chester 11y agoAs I understand it, a big part of the slow load time for Java apps is sucking everything on the classpath into RAM, even though most apps will use a fraction of the classes that are loaded. Java 9's module system should make that a lot less of a problem by giving the JVM guidance on what it should load and skip. I am not a Java expert, though, so I may have misunderstood what's going on.
- fiatmoney 11y agoThe JVM class loader by default reads a class on first reference to it in the code it's executing. Never refer to it, never gets loaded. Startup on the JVM is more affected by the JIT warming up, and the heap getting into a "stable" configuration.
- jacques_chester 11y agoThanks for the correction.