E

Excelsior Blog

excelsiorjet.com · Company blog · on HN since 2012

Excelsior, maker of the Excelsior JET ahead-of-time Java compiler, wrote about JVM compilation, garbage collection, and Java tooling.

What HN saysHN links it as an example of Java AOT compilation, with one commenter criticizing its pricing and others citing its conservative GC article.
16HN people shared it
14linked it in comments
12stories submitted
298story points
7 years agolast shared
2012people per year2026

Most-shared posts

  1. 1
  2. 2
    Conservative GC: Is It Really That Bad?
    2 people · 85 points · first shared 2018 · 47 comments on HN
  3. 3
    Excelsior JET Charity Bundle
    2 people · 2 points · first shared 2012 · discussion on HN
  4. 4
    Free
    2 people · first shared 2016
  5. 5
    The Folder of God
    1 people · 92 points · first shared 2017 · 19 comments on HN
  6. 6
    Reduction of Additions
    1 people · 64 points · first shared 2018 · 2 comments on HN
  7. 7
    AOT Compilation of Spring Boot: Behind the Scenes
    1 people · 6 points · first shared 2019 · discussion on HN
  8. 8
    Hardcore Java/JVM Quiz (with solutions)
    1 people · 6 points · first shared 2018 · discussion on HN
  9. 9
    Division by Null, or One Optimization Too Many
    1 people · 5 points · first shared 2017 · discussion on HN
  10. 10
    The Object Is Dead. Long Live the Object
    1 people · 4 points · first shared 2017 · discussion on HN
  11. 11
    Unsafe Harbor
    1 people · 4 points · first shared 2018 · discussion on HN
  12. 12
  13. 13
    Portable profilers and where to find them
    1 people · first shared 2018

What HN people wrote when they linked it

oblio · 2018-02-22
It might as well not exist in this day and age: https://www.excelsiorjet.com/#pricing Yes, you can argue: "that's not fair", "for a professional programmer that's worth only a few weeks of work's for massive productivity improvements", etc., but things don't work that way. Most developers have been conditioned to not use commercial products, if they can. With an extra downside for the commercial product being closed source.
FullyFunctional · 2018-05-07
Sorry for the late follow up. Hopefully you're still around to notice. Apparently there was previous HN discussion on this, but I haven't seen it (or looked for it): https://www.excelsiorjet.com/blog/articles/conservative-gc-is-it-reall…
pjmlp · 2018-02-22
> JVM AOT...we're waiting, we know it's coming. https://www.excelsiorjet.com/
brudgers · 2017-12-24
I don't see the three languages as very different because Algol 60 is their prototype. The distinction between interpreted, VM, and compiled is an implementation rather than a language distinction...e.g. Jython runs on the JVM; Excelsior Jet compiles Java to native code; and Rusti is a Rust REPL. https://en.wikipedia.org/wiki/ALGOL_60#Examples_and_portability_issues https://www.excelsiorjet.com/ https://github.com/murarth/rusti
ece · 2017-08-19
I believe you are right. Azul has released a JIT compiler based on llvm: http://www.infoworld.com/article/3193078/java/azul-introduces-llvm-com… Also: https://www.excelsiorjet.com/ and there seem to be open source projects like vmkit, https://github.com/ReadyTalk/avian that are somewhere in between.
btbytes · 2017-05-01
Excelsior JET -- https://www.excelsiorjet.com/ AOT compiler producing native binaries.
Cyph0n · 2016-07-06
You also have Excelsior[0], which provides full Java AOT (ahead-of-time) compilation to native machine code. [0]: https://www.excelsiorjet.com/
amelius · 2016-02-13
By AOT, do you mean something like this: http://www.excelsiorjet.com/ If you look at the "Benefits" tab, you will see that startup will still take on the order of 1+ seconds, which is quite long IMO. Also, would this work with Clojure? And are there open-source AOT compilers which work with Clojure?
dbdr · 2014-12-01
Java projects can be compiled to a self contained native binary using http://www.excelsiorjet.com/ (though this is a proprietary tool, with a gratis license option for non-commercial projects). Curious: why is this a requirement for you?
tormeh · 2014-12-01
Looks like it is Windows, Linux and Mac. No 32bit on Mac, though. http://www.excelsiorjet.com/
gsmethells · 2014-05-08
As far as packaging and deployment of a native executable goes, I thought it odd to not mention Excelsior JET (http://www.excelsiorjet.com) as I believe that's the only Java compiler that can handle all of the JDK (gcj isn't there yet).
dleskov · 2013-08-19
Disclosure: I work for Excelsior. Excelsior JET (http://www.excelsiorjet.com), a Java SE JVM with a native code compiler and deployment toolkit, is free for non-commercial use. Note that "non-commercial" != "open source", both ways: there is commercial open-source and closed-source freeware. http://www.excelsior-usa.com/jetfree.html
dbg_nsk · 2018-02-23
Right, but even a single instruction placed on every backward branch and at the epilogue of every method causes noticeable impact on the performance. This is especially important in highly optimized code and that's why optimizing compilers like HotSpot C2 (and JET as well) try to remove as many safepoints as possible. Sometimes it even causes troubles like in this case: https://bugs.openjdk.java.net/browse/JDK-5014723 Good point about inspecting thread's callstack. Indeed, with conservative GC we had a problem: many popular profilers were incompatible with JET because they inspect threads at safepoints and we had none. When we implemented the precise GC, this problem disappeared and it was an additional benefit for us. However, there are alternative ways to gather thread's callstack out of safepoint. We use them to avoid safepoint bias in our profiler. You can read more about it here: https://www.excelsiorjet.com/blog/articles/portable-profilers-and-wher… ---- Thanks for kind words! I'm glad that you liked the post!
throwawayaway · 2014-11-12
I don't have the technical chops to disagree with you. But rest assured I would not do a better job. Last time I checked java programs do not like operating within the same VM[0]. Last time I looked at it, it was to get a bunch of people running Eclipse remotely from the same JVM instance on a huge box in 2012 or something. It was a no-goer, but some experimental JVM's claimed to support it. [1] Powershell is a terrible example for the performance point I am trying to make, whatever about its flexibility. [0] http://www.javalobby.org/java/forums/t72620.html [0] http://stackoverflow.com/a/13496610 [1]http://www.ibm.com/developerworks/library/j-multitenant-java/index.htm… (this now looks less experimental but I'm willing to bet >1 instance of eclipse, or bash for that matter would not work very well). I'm not sure how this works: http://www.excelsiorjet.com/ but it might help to alleviate the problem even though it still has a jvm. https://en.wikipedia.org/wiki/Java_Classloader looking at what you mention now, can a program classload itself? seems not: A class with a given name can only be loaded once by a given classloader.

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close