Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    JVMLS 2015 - Java Goes AOT

    Java

    7 HN mentions · mentioned in 5 months, 2015–2016

    YouTube

    40:50 · 7.6K views · Aug 12, 2015

    Christian Thalinger presents at the 2015 JVM Language Summit on adding ahead-of-time compilation to the JVM, covering the HotSpot team's AOT work and its relation to warmup and deoptimization.

    Cited in AOT discussions as evidence that Oracle was moving toward AOT in the JDK and as an explanation of the deoptimization concerns.

    Software Engineering & LanguagesCompilers, interpreters & program analysisPython, Ruby & scripting languages
    1. 52:38
      A JVM Does That?Google TechTalks80K views • 15 years ago
    2. 1:02:44
      Chris Seaton @ VMSS16: JRuby+Truffle: Why it’s Important to Optimise the Tricky Partssoftdevteamuk5.1K views • 10 years ago
    3. 50:11
      Twitter’s Quest for a Wholly Graal Runtime by Chris ThalingerScala Days Conferences3.2K views • 8 years ago
    4. 1:01:37
      Compiling and Optimizing Scripting LanguagesGoogle TechTalks21K views • 17 years ago
    5. 1:15:09
      Cliff Click @ VMSS16: Bits of Advice For the VM Writersoftdevteamuk4.2K views • 10 years ago
    6. 1:12:02
      Java on a 1000 Cores - Tales of Hardware / Software CoDesignGoogle TechTalks23K views • 17 years ago
    7. 1:14:32
      Building Your Own Dynamic LanguageStanford21K views • 18 years ago
    8. 1:08:52
      JVMLS 2015 - Compilers are DatabasesJava16K views • 11 years ago
    9. 1:03:31
      Brian Goetz - Stewardship: the Sobering PartsClojureTV39K views • 11 years ago
    10. 1:21:25
      Let's prototype a JavaScript JIT compiler!Andreas Kling49K views • 3 years ago
    11. 43:04
      "Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)Strange Loop Conference468K views • 4 years ago
    12. 8:34
      APL at Julia's Speed | Shashi Gowda | JuliaCon 2016The Julia Programming Language3.5K views • 10 years ago
    13. 10:32
      Javascript in 2015Glen Maddern58K views • 11 years ago
    14. 26:53
      What the heck is the event loop anyway? | Philip Roberts | JSConf EUJSConf3.8M views • 12 years ago
    15. 1:01:45
      A Talk Near the Future of Python (a.k.a., Dave live-codes a WebAssembly Interpreter)David Beazley26K views • 7 years ago
    16. 17:55
      Build a real-time Twitter clone in 15 minutes with LiveView and Phoenix 1.5Chris McCord237K views • 6 years ago
    17. 40:55
      "Controlling Time and Space: understanding the many formulations of FRP" by Evan CzaplickiStrange Loop Conference69K views • 12 years ago
    18. 49:48
      2023 LLVM Dev Mtg - Mojo 🔥: A system programming language for heterogenous computingLLVM61K views • 2 years ago
    19. 2:03:12
      Co-dfns Live Stream: Compiler Design and ArchitectureAaron Hsu (arcfide)21K views • 9 years ago
    20. 49:06
      Perl 6 for Mere MortalsCurtis “Ovid” Poe6.3K views • 11 years ago

    7 comments from Hacker News

    1. @sievebrainMay 2016· in “Scala Native”

      Hi, What is the rationale for doing this, given that the Graal / JVM guys are already developing an AOT compiler which can compile Scala to native binaries? Is this motivated by performance? The desire to write C libraries in Scala? What? Given the high level, dynamic nature of Scala I am skeptical LLVM+Boehm GC will result in faster code. I expect it would result in slower code. EDIT: OK, I just saw the link to your talk below. I feel you should know a few things: 1) The Hotspot team are adding AOT compilation to the JVM. There is a talk on it here. This mostly eliminates warmup time: this video You can't eliminate warmup time entirely because profile guided on-the-fly optimisation is actually quite powerful and an AOT compiler that doesn't have profile data to work with can't generate code that's as good. But they support tiered AOT, where the AOT compiled code does basic profiling of itself, and then it can still trigger profile-guided JIT compilation if you want to. 2) Interop with native is being heavily worked on in project Panama: another JVM upgrade project. With the current prototype you can feed it arbitrary header files that are parsed with clang, and it generates Java interfacing files that are efficiently compiled (no overhead). There's a Pointer<T> type and so on. 3) Stack allocation isn't so easy to do unless you are willing to pretty wildly violate the safety of the language. It's also been found to not help much when very adventurous JVM implementors tried it an

      CitesView on HN
    2. @pjmlpOct 2015· in “Windows 10 and .NET Native”

      There have been AOT compilers from third party JVM vendors almost since the begining. Used mostly by companies that didn't want to expose their bytecode. However Sun decided to bet the farm on JIT and was against having AOT compilation on the reference JDK. Meaning anyone that wanted a AOT toolchain for Java had to go shopping. Now, it appears Oracle is of a different opinion. "Java Goes AOT" at JVM Language Summit 2015 this video Being used to memory safe languages with AOT compilation like Turbo Pascal, Modula-2, Modula-3, Oberon, Delphi, Ada among many others, I also would have prefer that Java and .NET had offered the same type of toolchain from the beginning. Now almost 20 years later, we need to teach young generations that their default implementations were just that, implementations. As they got used to the (wrong) idea that memory safe languages imply a VM.

      CitesView on HN
    3. @the8472Feb 2016· in “JavaCPP”

      Afaik IBM's JVM supports class data sharing, which effectively provides AOT behavior once they have been JITed. For oracle's VM they're working on a commercial feature this video There also are things like nailgun which simply prestart a JVM and then delegate to the loaded JVM when you invoke some command. It may be a bit of a workaround, but if your use-case is to frequently start extremely shortlived programs that might be worth it.

      CitesView on HN
    4. @shagieDec 2016· in “Building a Production Server Swift App”

      > Compiles to binary which could bring benefits depending on your needs (compared to JS, Java, Scala..) While its not there _yet_, JEP 295: Ahead-of-Time Compilation ( [LINK] ) is active, it was just updated last week, is targeted and a priority 1 item. I have reasonable confidence that it will get there in the near future. See also: JVMLS 2015 - Java Goes AOT this video

      CitesView on HN
    5. @mike_hearnOct 2016· in “Ahead-of-Time Compilation”

      It's explained in the talk "Java goes AOT": this video Basically they thought it'd de-opt too much. I'm not totally sure it's the case but they'd be the experts on that.

      CitesView on HN