Static Hermes: the Next Generation of Hermes - Tzvetan Mikov | React Native EU 2023

Sdílet
Vložit
  • čas přidán 24. 09. 2023
  • 📖 About the talk
    Welcome to Static Hermes, an evolution of non-web JavaScript engines. The cornerstone feature is the optional compilation of type-annotated JavaScript into native code, offering predictable performance on par with C/C++. It supports an arbitrary mix of native and interpreted code, both typed and untyped. Optional 'unsafe' language extensions enable direct manipulation of native types and APIs, reducing the need to shift to C++ and allowing for a predominantly single-language codebase. These advancements merge native-like power with the flexibility and convenience of JavaScript. We will explore how Static Hermes may redefine our interaction with React Native and shift the paradigm of JavaScript engines.
    🗣 Speaker Bio
    Working on a super secret project to speed up JS, previously Hermes JavaScript Engine, previously Bloomberg L.P.
    Get your tickets for React Native EU 2024:
    ti.to/react-native-eu/react-n...
    Check out more about React Native EU conference:
    www.react-native.eu/?...
    Visit the organizer's website:
    www.callstack.com/?...
    Follow us on Twitter to stay up to date:
    / react_native_eu
  • Věda a technologie

Komentáře • 38

  • @very_unique_username
    @very_unique_username Před 9 měsíci +6

    This is the talk that I was most excited to hear about! Exciting times ahead!

  • @thiagogeisler8715
    @thiagogeisler8715 Před 2 měsíci +1

    You're amazing, man. Please keep up this work as I can't wait to be able to use this compiler. I also ask that you develop a multithreading system similar to go, for our joy.

  • @aberba
    @aberba Před dnem

    Would love to have static hermes be a system programming language but itself. Even if a category of code will be restricted to enable native compilation

  • @RichardWillis
    @RichardWillis Před 9 měsíci +1

    Really enjoyed this talk, great presenter. Exciting stuff!

  • @48_subhambanerjee22
    @48_subhambanerjee22 Před 7 měsíci

    Damnnnn we need this quickly ❤ Full support to Static Hermes Team

  • @mrousavy
    @mrousavy Před 9 měsíci +2

    awesome talk!

  • @VKSGAUTAM12
    @VKSGAUTAM12 Před 9 měsíci +1

    i was waiting of this

  • @baxiry.
    @baxiry. Před 9 měsíci +1

    awesome

  • @user-pw8pm6lc2s
    @user-pw8pm6lc2s Před 9 měsíci

    🎉🎉

  • @_fudgepop01
    @_fudgepop01 Před 7 měsíci +2

    Question:
    JavaScript has the “number” type. One thing I’d like to be able to do as a developer is utilize pure integers and floating point numbers, and potentially add the ability to use things like fixed point numbers in my own code.
    How do FFI calls operate when dealing with the “number” data type?

  • @riddickstark9628
    @riddickstark9628 Před 9 měsíci +6

    what did Microsoft do?

  • @BernhardRutzen
    @BernhardRutzen Před 9 měsíci +14

    This is completely a C++ killer, if you have the performance of C++ with the Syntax of JS, we'll live in a dream world

    • @deprilula28
      @deprilula28 Před 7 měsíci +2

      Have you ever heard of Rust or go? I think this thing is awesome for existing typescript apps using the js ecosystem, but as far as killing c++ there's no way

    • @azufendusgarendum6583
      @azufendusgarendum6583 Před 7 měsíci +2

      Yep, or Zig even. This is really cool for React Native but for the fastest performance you need to be able to tune the types used (unsigned vs signed vs 8bit, 16bit, 32bit, etc), and also control memory alignment, etc. From what I can tell so far, this won't enable those types of optimizations which are needed for the best performance. But it does bring it kinda close which is cool. Also, I wonder how much faster this is than V8 (in Node.js, etc) and JSC (Bun, Webkit, etc). Those are already insanely fast and from a dated benchmark Hermes was really slow at just executing bytecode a while back... I wanna try comparing non-static Hermes to V8 (at the highest optimization level) and see how they both compare to static Hermes

    • @Aimsport-video
      @Aimsport-video Před 7 měsíci +2

      It’s not either/or it’s both/and. The VCR didn’t kill the movie theater. Airbrushes did not kill paintbrushes. And C++ will outlive us all.

    • @natescode
      @natescode Před 7 měsíci +4

      LOL you're definitely a JS only dev

    • @aberba
      @aberba Před dnem

      ​@@deprilula28 rust isn't as fast as C++ and has alien syntax. Js has a more familiar syntax and simpler overall

  • @elvispalace
    @elvispalace Před 9 měsíci +1

    Types is coming to JS, so...

    • @ThePassle
      @ThePassle Před 7 měsíci

      Not really, though. Comments prefixed by a colon in certain positions of your source code which can be used by typecheckers are proposed to JS, and are a long way from becoming a reality.

  • @natescode
    @natescode Před 7 měsíci +23

    Javascript devs will do anything but learn another language

    • @apidas
      @apidas Před 6 měsíci

      Ikr, what a loser

    • @dimasarfanasyuro5227
      @dimasarfanasyuro5227 Před 6 měsíci

      well because Javascript bring food to the table ?

    • @Joshua-dc4un
      @Joshua-dc4un Před 5 měsíci +2

      Your statement is self defeating, if this was built by JavaScript devs, it means they learnt another language. If not, your comment is meaningless.

  • @henrybenedict6357
    @henrybenedict6357 Před 3 měsíci

    is it just me or he sounds like zizek 😅

  • @xedo-aa
    @xedo-aa Před 9 měsíci

    Why only for React Native?

    • @RDY_97
      @RDY_97 Před 9 měsíci +3

      because he is working for meta.

    • @natescode
      @natescode Před 7 měsíci

      because Meta, gotta lock JS devs in. JS devs aren't smart enough to learn native development so they'll sell their souls to use it.

    • @aberba
      @aberba Před 3 dny

      ​@@natescode I write native but I'm not that smart so? 😂

  • @MelroyvandenBerg
    @MelroyvandenBerg Před 9 měsíci +8

    Bun killer or not?

    • @azufendusgarendum6583
      @azufendusgarendum6583 Před 7 měsíci +3

      It's not. This requires your code to be properly type annotated and the code run will behave with different semantics than normal code. i.e. possibly 99% of all existing Node.js/Bun programs will fail with this new system. Not to mention, a _lot_ of Javascript code is currently untyped or just not typed correctly but are used as dependencies, etc. For Hermes to be a Bun killer the non-static Hermes VM needs to be improved to run faster than Bun first (which I presume is currently not the case, i.e. Hermes likely runs bytecode quite a bit slower than Bun/JSC)

  • @gnom-om
    @gnom-om Před 9 měsíci +2

    May be better to fix current Hermes issues before going to such native future?

    • @VKSGAUTAM12
      @VKSGAUTAM12 Před 9 měsíci +2

      both are different and teams would be different

  • @gofudgeyourselves9024
    @gofudgeyourselves9024 Před 8 měsíci +4

    I guess we will have to wait for more 4 to 5 years on this.

    • @natescode
      @natescode Před 7 měsíci

      better than learning another programming language -- every JS dev