Project Leyden: Capturing Lightning in a Bottle

Поділитися
Вставка
  • Опубліковано 27 лют 2024
  • Project Leyden aims to improve the startup time, warmup time, and footprint of Java applications by enabling developers to shift computation forward and backward in time. We’ll dive into what that means, how it could work, and review recent progress.
    Presented by Per-Ake Minborg (Oracle)
    Recorded at Jfokus 2024 ➱ www.jfokus.se
    Project Leyden ➱ openjdk.org/projects/leyden/
    More info… ➱ inside.java/tag/leyden
    Tags: #Java #OpenJDK #JDK #ProjectLeyden
  • Наука та технологія

КОМЕНТАРІ • 33

  • @krellin
    @krellin Місяць тому +1

    Awesome to see Per with Oracle
    great presentation

  • @ebuzertahakanat
    @ebuzertahakanat 3 місяці тому

    Does this mean JAOTC going to come back? it will be great if it did.

  • @thiagogeisler8715
    @thiagogeisler8715 3 місяці тому +5

    Thanks for all the advancement Java has made, I'm very happy. However, I believe it is urgent for Java to abandon these unpredictable timing garbage managers and adopt deterministic memory management with destructors and move semantics, inspired by C++ and Rust, as the NIM language did. Nim has a very low memory footprint and is also suitable for systems programming. Nim does this without the complexity of Rust or C++ with memory management called ORC.

    • @Ilumar589
      @Ilumar589 3 місяці тому +15

      Reference counting memory management systems are not a magic bullet and will never get the throughput that java's G1 gets. If you want low latency use ZGC instead of G1, if you want low memory wait for Valhalla. No one thing is magic in programming. If you want control C style programming (check Zig or Odin if you want something modern) with custom memory allocators for specific situations is still the way to go, the rest is requirement or preference based. Either way what you suggested will never happen because it's not objectively better and even if it was they would never do such a radical change, they are only doing Valhalla because they realized it really is necessary for java to expand to other things than backend web dev

    • @thiagogeisler8715
      @thiagogeisler8715 3 місяці тому

      @@Ilumar589 From what I've seen, NIM has a speed and memory footprint close to C, with the implementation of a memory management system called ORC. It's something impressive.

    • @thiagogeisler8715
      @thiagogeisler8715 3 місяці тому +5

      Furthermore, I don't doubt the JAVA team at all, they are unstoppable and capable of surprising the world, as they have done several times.

    • @thanosfisherman
      @thanosfisherman 3 місяці тому +4

      Yes Valhalla will be a game changer but they are taking an annoyingly too long to release.

    • @mamadouzo3265
      @mamadouzo3265 3 місяці тому +1

      There is also GraalVm you can use to reduce java app starting time and footprint.

  • @pompiuses
    @pompiuses 3 місяці тому +4

    Why is this beeing prioritized over null safety? In my experience far more developers, especially juniors, are complaining about that than somewhat improved startup times.

    • @bentels5340
      @bentels5340 3 місяці тому +7

      Wrong question. Different group of people than the ones that are working on the language.

    • @user-ij9vi6sn8g
      @user-ij9vi6sn8g 3 місяці тому +9

      This is very much required in cloud, otherwise go and other languages will eat java's lunch.
      currently java have high memory footprint, high time for peak performance and startup time, all this is very relevant in the cloud.

    • @Ilumar589
      @Ilumar589 3 місяці тому

      It's not, null safety comes bundled with project Valhalla. It's a different team working on that

    • @pompiuses
      @pompiuses 3 місяці тому +1

      @@Ilumar589 Sure, but all the brains going into other projects should be going into null safety instead. That's the number one wanted feature especially by beginning developers. Valhalla has been going on for 12 years now (if memory serves) so it clearly has no priority at Oracle. Valhalla will also not provide a general solution for a null aware type system, but only null safety for a new type called value objects (which is too little too late). Oracle is trying too hard to keep backwards compatibilty, it should be possible to opt in to features which is not backwards compatible.

    • @pompiuses
      @pompiuses 3 місяці тому

      @@user-ij9vi6sn8g Yes, as mentioned in the presentation this has been adressed by GraalVM. Project Leyden only slighly improve startup times compared to GraalVM, and do very little to memory consumption. If startup time and low resource usage has high priority in your project then AOT compilation is the only way to go.