GraalVM Native Image - Faster, Smarter, Leaner

Поделиться
HTML-код
  • Опубликовано: 28 авг 2024
  • НаукаНаука

Комментарии • 24

  • @sachinsonar9910
    @sachinsonar9910 18 часов назад

    This is going to be a game changer !

  • @tominix5555
    @tominix5555 Год назад +4

    Props to the presenter, that was a great talk

  • @YDwelve
    @YDwelve Год назад +6

    Holy shit, as straight to the point as it gets. I guess there is no way around it. At some point you have to get into compiler programming to get better at programming.

  • @hariseldon02
    @hariseldon02 Год назад +2

    Thanks for being transparent about the throughput. So the main benefits are image size, startup time, memory and CPU footprint. These are all not important to us as we don't deploy to the cloud. The CPU is bored anyway and memory is cheap.
    Still, fascinating stuff.

    • @florianenner7435
      @florianenner7435 Год назад +5

      The faster startup time of native images is also very noticeable for CLI apps, Desktop GUIs, and applications running on small targets like a Raspberry PI. I don't work with web services at all, but I still use native images whenever possible.

    • @ellandill
      @ellandill 11 месяцев назад +2

      it matters a lot for lambda or cloudrun, even for kubernetes no need to pay for extra memory

  • @rkalla
    @rkalla Год назад +2

    12:05 that performance differential is unreal...

  • @trozzonick77
    @trozzonick77 Год назад

    Very informative. Thanks a lot!

  • @AbstractSuperclass
    @AbstractSuperclass Год назад

    Great talk Shaun! :)

  • @rkalla
    @rkalla Год назад +4

    Awesome talk - wasn't aware what nativeimage was doing when building those executables OR the benefit of building the native package. Awesome benefits. Does it impact instrumentation though since JFR and other VM capabilities aren't there?

    • @rkalla
      @rkalla Год назад

      @@Mig440 You rock, appreciate the link!

    • @shaunmsmith
      @shaunmsmith Год назад +2

      You can add JFR instrumentation to the generated executable for runtime monitoring of your app. This isn't the same as the performance guided optimization instrumentation I had done and is independent. Once I had the PGO data from the instrumented version, I recompiled to get a more optimized version. I could have enabled JFR in the final version that I would deploy. FYI, as I think I mentioned in the session, not all JFR events are supported yet but coverage is expanding release-to-release.

    • @peoplethesedaysberetarded
      @peoplethesedaysberetarded 5 месяцев назад

      @@rkallalink’s gone now. 😢

  • @ddevienne
    @ddevienne 15 дней назад

    Where's the WASM target?

  • @elias_toivanen
    @elias_toivanen 6 месяцев назад

    Good stuff!

  • @morkhoudia9
    @morkhoudia9 Год назад

    Great présentation. Is it available at a repository...

  • @ndrvsk
    @ndrvsk Год назад +4

    That's too sad that PGO (Profile-Guided Optimizations) IS NOT part of Community Edition.
    Considering, that GraalVM is slightly worse than Standard Java app with JIT (around 12%).
    It seams to me that GraalVM won't be used for Non-lambda Apps, since for most of the cases when CI/CD is used - startup time is not that important than final perfomance.
    So I guess, almost nobody will start using GraalVm for production, since It requires lots of changes for existing infrustructure, unless It will be obvious that it is "WIN-WIN" situation,
    but, unfortunately, that can be achived only with PGO

    • @maorhamami8106
      @maorhamami8106 7 месяцев назад

      as u said, lambda with graalvm is a major boost. in addition when you have an "on-prem" solution with limited cpu/ram graal also is a major boost. for generic "cloud" applications using k8 its probably less a "win" as the compile time and all of the configurations and back and forth getting things to work not worth it

  • @user-wh6fk4er5s
    @user-wh6fk4er5s Год назад

    The "Game of Life" test on my mac is completely opposite !!!

  • @robotduck77
    @robotduck77 Год назад +3

    Tried to AOT compiled one of our swing app with GraalVM, it threw bunch of errors. It's not as seamless and easy as the discontinued Excelsior JET

    • @florianenner7435
      @florianenner7435 Год назад

      Gluon did some nice work to support JavaFX with native image. They even managed to use it to deploy to iOS and Android. Migrating complex apps is still a bit of a pain, but it's doable.

    • @henson2k
      @henson2k Год назад

      same experience

    • @tobyzieglerrr
      @tobyzieglerrr Год назад

      Same here - imho not production ready, and often not needed anyway. There is a narrow area of application anyway: serverless, microservices. CI/CD and deployment setup is a pain still. But this like CRaC is very interesting stuff and _can_ be very usable in the future.