Understanding the V8 JavaScript Engine

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ก.ย. 2024

ความคิดเห็น • 118

  • @ahmedhamdy5882
    @ahmedhamdy5882 5 หลายเดือนก่อน +34

    I just love these moments of learning when I feel so stupid and my mind feels like oh, we've some work to do.

  • @kelkiiii
    @kelkiiii 2 ปีที่แล้ว +50

    These infographics are really great. Excited to keep studying this. Gonna use this as a resource frequently. Very well-done.

  • @arik_dev
    @arik_dev 2 ปีที่แล้ว +18

    I've been reading through the V8 dev blogs trying to get a sense of what's going on, and this video really tied the concepts together in a succinct way. Excellent use of graphics as well, really helpful.

  • @PoojaGera-l2r
    @PoojaGera-l2r 8 หลายเดือนก่อน +4

    The animation was not only cool but also incredibly helpful in visualizing the complexities of the engine. It's rare to find content that's both beginner-friendly and easy to follow, but this video nailed it. Thankyou so much!

  • @mumblic
    @mumblic ปีที่แล้ว +4

    Maybe the people behind the v8 engine deserve a Nobel price of some kind.
    Code optimization at that low level is really complex and the v8 engine seems to be highly optimized.

    • @heeru379
      @heeru379 หลายเดือนก่อน +1

      The ACM A.M. Turing Award? Yeah! Give them. 🏆🎉

  • @AndreGreeff
    @AndreGreeff 5 หลายเดือนก่อน +3

    wow... over 20 years of writing JS and I'm still learning new things. definitely going to keep this in mind when designing my functions.

  • @ryanpark3523
    @ryanpark3523 2 ปีที่แล้ว +5

    Lydia~ thank you so much for your wonderful presentation!! You are so much better than Udemy instructor who explains about JS engine. Now finally I can understand how JS works perfectly !!! Thank you so much again !!

  • @satadrubhatt
    @satadrubhatt 3 ปีที่แล้ว +5

    Thanks for the talk and explaining in details. Always liked the visual articles. Kudos

  • @VincentDegrave
    @VincentDegrave 5 หลายเดือนก่อน

    Great way of explaining the internals. Thanks!

  • @VincentJenks
    @VincentJenks ปีที่แล้ว

    Excellent illustration! These are key fundamental concepts all JS devs should understand, so as to optimize as much as possible. It takes some of the guesswork out of how you should solve a particular problem, also...seeing as JS is flexible enough to do everything at least 10 different ways. Well done!

  • @codeChuck
    @codeChuck 5 หลายเดือนก่อน

    Deep! And fun 🔥! Turbofan :)
    After watching this video I remembered that I have learned about this V8 optimization previously, but I forgot about this completely when writing actual code!
    Nice reminded that calls to function with different arguments or different shape of object are blocking V8 turbofan optimization.

  • @benoitleger-derville6986
    @benoitleger-derville6986 5 หลายเดือนก่อน

    This is exactly the video and explanation I've always wanted to see. Thank you.

  • @cingizhemidov6990
    @cingizhemidov6990 9 หลายเดือนก่อน

    best info-graphics and explanation I have seen on this very important topic. Thank you

  • @achillesglacia7700
    @achillesglacia7700 6 หลายเดือนก่อน

    bloody hell. the ease of that to her is just... For extra beginners will like a complete summarised road map at the beginning before going into each section and function, if that makes any sense, glad to help. you did that, but it was too short, too quick.

  • @roycreativedesigner4608
    @roycreativedesigner4608 6 หลายเดือนก่อน +2

    the animation and explanations were helpful....but the cool thing was she was laughing after some seconds and that made ma laugh too......i watched it twice once just to laugh and another time for learning the concept

  • @MinorMood
    @MinorMood 3 ปีที่แล้ว +12

    Well - the part that really broke my brain was that gear animation on 4:42 ))) There is definitely something wrong there!))
    Aside from that - a great video, thanks a lot!)

    • @hankchinaski6533
      @hankchinaski6533 3 ปีที่แล้ว +3

      Bytecode: easy peasy
      Gears broking physics laws: what tha hell!!!

  • @gorkemokur
    @gorkemokur 3 ปีที่แล้ว +9

    It's a fascinating and informative presentation. Can i ask how did you make slides. I mean, did you use some program or actually, is it a website =)

    • @offYears
      @offYears หลายเดือนก่อน

      i think this was still on Apple Keynote

  • @techygeeeky
    @techygeeeky 12 วันที่ผ่านมา

    Superb!

  • @rossli8621
    @rossli8621 ปีที่แล้ว +1

    This is such a great video!!!

  • @naniteimei
    @naniteimei 5 วันที่ผ่านมา

    Thanks for the video....

  • @joãoDev-u5o
    @joãoDev-u5o 3 หลายเดือนก่อน

    perfect. a sua didatica e perfeita, junto dos graficos

  • @daniel7007
    @daniel7007 2 ปีที่แล้ว

    The best explanation i have ever seen!!!

  • @manojhk7469
    @manojhk7469 5 หลายเดือนก่อน

    high level of explanation

  • @danielkrajnik3817
    @danielkrajnik3817 3 ปีที่แล้ว +8

    7:18 it surely is

  • @manoellopes211
    @manoellopes211 2 หลายเดือนก่อน

    Your content is just amazing 🤩🤩

  • @subtlespace
    @subtlespace 11 หลายเดือนก่อน

    When you say "we"... I presume you mean "computers"! 😂 Seriously though, very comprehensive video... thank you 😵‍💫

  • @ddey239
    @ddey239 3 ปีที่แล้ว +2

    This is awesome

  • @LostInTheMysteriousWorld
    @LostInTheMysteriousWorld ปีที่แล้ว +2

    Where does the global execution context and call stack sit in this whole process?
    I am not talking about event loop.
    I just want to know the v8 part of browser which executes the code.
    Global execution context and call stack is part of v8.
    I find resources in Google explaining v8 architecture and event loop separately.
    In event loop they show that global execution context and call stack is part of v8. And when I go to learn v8 internal process to execute code. I find these type of explaining but no mention of global execution context and call stack.
    I want to know the relation among v8 engine architecture , global execution context and call stack.
    How they work together???
    Besides that I found variables and references are stored in stack and object and function description are stored in heap.
    Some articles says both are stored in memory heap.
    These are confusing.
    What exactly is stack and heap?
    I Googled it.
    It says heap is not part of heap data structure.
    And stack is a data structure.
    I want to know the relation among stack, heap and hardware RAM.
    Is stack and heap is a physical part of ram?
    = If I consider ram is just a collection of billions of memory block. Some are used as a process called stack and some are used as a process called heap.
    If this is truth then the same memory block can be used as a stack and heap in two different process or case !!!?
    All these are so confusing.Is there anyone who knows about it?? I am tired of researching in Google.

  • @mayankupreti6966
    @mayankupreti6966 หลายเดือนก่อน

    Impressive..👏

  • @drapala97
    @drapala97 3 ปีที่แล้ว +8

    this is pretty cool. I wish it was a little bit slower though

  • @OliviaGraceDev
    @OliviaGraceDev 6 หลายเดือนก่อน

    very helpful explanation!

  • @yashmishra1024
    @yashmishra1024 3 ปีที่แล้ว +1

    This was really helpful

  • @josephwong2832
    @josephwong2832 3 ปีที่แล้ว

    nice visuals and explanations

  • @muratwes23
    @muratwes23 2 ปีที่แล้ว

    most amazing video ever

  • @omjoshi1748
    @omjoshi1748 2 ปีที่แล้ว

    Thanks for the explaintion.

  • @Cimotkt
    @Cimotkt 5 หลายเดือนก่อน

    Hi,
    Thanks for the great presentation.
    I was wondering though if we can assume type scripts code is by definition faster than regular javascript since we have more control on shape's number ?

  • @Ocean7653
    @Ocean7653 หลายเดือนก่อน

    I’d love to know to know more please recommend a good book to get started

  • @pengdu7751
    @pengdu7751 2 ปีที่แล้ว

    beautiful talk.

  • @alain_laroche
    @alain_laroche 2 ปีที่แล้ว +4

    This is amazing! Does anyone knows where to find all the others ressources she is talking about?

    • @blyfo
      @blyfo 11 หลายเดือนก่อน

      Hey, did you manage to find them?

  • @RaviPrakash-qj2lz
    @RaviPrakash-qj2lz ปีที่แล้ว +1

    There is no mention for call stack, memory heap or event loop in this video. What's their role in this whole process?

    • @gFamWeb
      @gFamWeb ปีที่แล้ว

      To my knowledge, call stack works pretty similar to any other call stack. Memory heap is similar. Event loop is something that really depends on if you're using Chrome or Node.

  • @yuxiangchen520
    @yuxiangchen520 3 ปีที่แล้ว +2

    it's very good.

  • @samferrer
    @samferrer 3 ปีที่แล้ว +2

    Lovely presentation!! if you do not have courses on Udemy ... you should ...

  • @systemdeadlock
    @systemdeadlock ปีที่แล้ว

    Nailed it!

  • @DavidAlsh
    @DavidAlsh ปีที่แล้ว

    I would love to know more about what happens in the browser when it sees JavaScript. When inspecting the performance profiler you can see "compiling" and "evaluating" as two separate tasks - what are they? Does Chrome cache compiled JavaScript between refreshes or only the asset? When it comes to caching, how does Chrome determine between disk and memory cache?

  • @dubola5777
    @dubola5777 3 ปีที่แล้ว

    Thank you!

  • @DevsLikeUs
    @DevsLikeUs 3 ปีที่แล้ว

    Awesome talk

  • @paulsery5878
    @paulsery5878 ปีที่แล้ว

    Very helpful! Where does Chromium load scripts before byte stream decoding?

  • @liamconverse8950
    @liamconverse8950 2 ปีที่แล้ว +1

    So with just in time compilation what is the purpose of compiling to a byte code before compiling to machine code? If optimization means compiling straight to machine code why not do that all the time?

    • @abdelrahmankhalil
      @abdelrahmankhalil 7 หลายเดือนก่อน

      "bytecode takes a lot less memory than machine code."
      Stackoverflow a/69155309 (because yt hates urls)

  • @igorf243
    @igorf243 2 ปีที่แล้ว

    Awesome, thx.

  • @elvispalace
    @elvispalace ปีที่แล้ว

    just love

  • @fsjay
    @fsjay 2 ปีที่แล้ว

    Amazing

  • @ihateorangecat
    @ihateorangecat 9 หลายเดือนก่อน

    Somebody please tell me what tool she used in the video to illustrate code executions. 😢🙏

    • @ricardomejias7957
      @ricardomejias7957 4 หลายเดือนก่อน

      Leaving this here to hopefully get a notification when you get an answer :v

  • @conea6891
    @conea6891 3 ปีที่แล้ว

    Nice, I like it.

  • @friggindoc
    @friggindoc 2 ปีที่แล้ว +1

    A very charming tutor explaining things excellently

  • @orregev4690
    @orregev4690 2 หลายเดือนก่อน

    how do you make the diagram ?

  • @raptorthefirst
    @raptorthefirst 7 ชั่วโมงที่ผ่านมา

    Dam, it is so cool, but in the same time too fast, like I have to rewind multiple times to process the new information

  • @shahtaz9385
    @shahtaz9385 ปีที่แล้ว +1

    What do I have learn to understand this?

    • @jxkz7
      @jxkz7 หลายเดือนก่อน

      Do you understand now

  • @vnm_8945
    @vnm_8945 5 หลายเดือนก่อน

    does typescript help with optimizing?

  • @samarthkeskar8546
    @samarthkeskar8546 3 ปีที่แล้ว +2

    00:58 😂 😂😂😂😂😂😂😂😂😂😂😂😂

  • @vishwateja2801
    @vishwateja2801 ปีที่แล้ว

    Can anyone help me understand where are the registers located? on the pc? is my understanding correct?

    • @artahir123
      @artahir123 5 หลายเดือนก่อน +2

      registers are located in a machine/pc/computer

  • @Sunil_KumarDas
    @Sunil_KumarDas 2 ปีที่แล้ว

    So fast for me btw. Will have to watch multiple times to understand.

  • @phamhoa5590
    @phamhoa5590 3 ปีที่แล้ว +3

    principle of program language, such a nightmare

  • @dennystreet2454
    @dennystreet2454 8 หลายเดือนก่อน

    I wish I could have the same topics in the kitchen with my wife while drinking coffee 😮

  • @captainpissof9632
    @captainpissof9632 3 ปีที่แล้ว +22

    why is she in the bathroom for this?

    • @pannihto7588
      @pannihto7588 3 ปีที่แล้ว +4

      She was taking a dump

    • @chudchadanstud
      @chudchadanstud 2 ปีที่แล้ว +3

      @@pannihto7588 This. The V8 engine eats up a lot of RAM. All that RAM has to be unloaded somewhere.

  • @tubbystubby
    @tubbystubby ปีที่แล้ว

    Just take a tub of popcorn and put V8 source code on auto scroll.
    Great video though.

  • @SweepAndZone
    @SweepAndZone 6 หลายเดือนก่อน

    My 3rd time watching this

  • @bd8063
    @bd8063 2 ปีที่แล้ว +2

    Isnt she streaming from bathroom lol

  • @praveenseela9259
    @praveenseela9259 3 ปีที่แล้ว

    i still didnt understood how JS (one programming language) is able to call c++(another programming language). can you throw some light on it?

    • @SirusStarTV
      @SirusStarTV 3 ปีที่แล้ว +1

      I know how, the predefined browser API methods are defined as objects in c++ and they connected to c++ functions in js engine specific way, when they're called their corresponding c++ functions are called. When you console.log(setInterval)
      it prints [native code] because there's a mechanism that JS engine developers implemented to connect the invoking of js functions to call real machine code functions.

    • @SirusStarTV
      @SirusStarTV 3 ปีที่แล้ว +1

      There's a mechanism for invoking operation system functions in Java language too, through mechanism called JNI. You can also embed Python in your "c" programs.

    • @praveenseela9259
      @praveenseela9259 3 ปีที่แล้ว +2

      Any links you have to understand this in deep?

    • @heraldo623
      @heraldo623 ปีที่แล้ว

      This is called binding. V8 is written in C++, it has ways to bind C++ functions to JS objects. When this JS function is called it results in a underlying call to C++ code. V8 dispatches the call since it's also running on C++.
      The same call can be done to different languages, but both languages must agree on a calling convention/interface. Search Foreign Function Interface.

  • @bild96
    @bild96 3 ปีที่แล้ว +2

    Hard for me to understand

  • @excelinaccounting8094
    @excelinaccounting8094 หลายเดือนก่อน

    good work but i think its overkill

    • @Carrymejane
      @Carrymejane หลายเดือนก่อน

      She loves talk in jargon unfortunately, but it's reminds us we are not learn it better before

  • @JimmyKama
    @JimmyKama ปีที่แล้ว

    Seems like you're joking/kidding. I wish you could explain assuming all the viewer as beginners. Anyway, great info.👍

  • @0xhhhhff
    @0xhhhhff 6 หลายเดือนก่อน +1

    Why are people here reducing the instructor's skill and presentation effoet only to her looks? Lol its a good vdo too surface level but nice infographics

  • @BrunoSouza-wy2et
    @BrunoSouza-wy2et 3 ปีที่แล้ว +5

    I would learn way more if there was only a voice teaching how this stuff works

  • @TheWhateverChannell
    @TheWhateverChannell 2 ปีที่แล้ว

    my head hurts

  • @samas69420
    @samas69420 3 ปีที่แล้ว

    bonk

  • @sumitbopate5010
    @sumitbopate5010 5 หลายเดือนก่อน

    A❤

  • @VladPutin-f8m
    @VladPutin-f8m 6 หลายเดือนก่อน

    Excellent content. Though I don't know why it's a bit hard to focus

  • @Plesiosaur-ig2si
    @Plesiosaur-ig2si 3 ปีที่แล้ว +1

    i love you

  • @1Eagler
    @1Eagler 3 ปีที่แล้ว

    So, v8 creates Virtual cpu with virtual memory?

  • @sebastiansaiz9173
    @sebastiansaiz9173 2 ปีที่แล้ว

    No entendí una goma.

  • @bobfarker4001
    @bobfarker4001 ปีที่แล้ว

    So that's why modern browsers can't run on 4GB of RAM when a 3d game like WoW could run on 500MB...

  • @prakharmishra-m5r
    @prakharmishra-m5r 2 หลายเดือนก่อน

    She's such a cutie.

  • @punchthedog
    @punchthedog 2 ปีที่แล้ว

    This is clearer at 0.75 speed.

  • @homyeeking997
    @homyeeking997 2 ปีที่แล้ว +2

    I can't help watching the speecher

  • @flickiiminaj
    @flickiiminaj 3 ปีที่แล้ว +54

    Can anyone tell me what I was supposed to learn here, I was starting at the cute smart girl on the left

    • @proviptk
      @proviptk ปีที่แล้ว

      Lmao

    • @dan_bev
      @dan_bev ปีที่แล้ว

      SIMP

    • @bboyakers
      @bboyakers 10 หลายเดือนก่อน

      Stop being creepy dude....just stfu and learn.

    • @mattmcmahon8311
      @mattmcmahon8311 9 หลายเดือนก่อน

      Lame comment. Couldn’t even read it cuz I was distracted by the picture of an idiot on the left.

    • @fatimanura6359
      @fatimanura6359 7 หลายเดือนก่อน

      😂😂😂😂 same

  • @Patryk-wm9fs
    @Patryk-wm9fs 4 หลายเดือนก่อน

    you know "spaces over tabs" when you see her

  • @shohanshohag987
    @shohanshohag987 3 ปีที่แล้ว +3

    i love this video , girl are so cute

  • @shagging8727
    @shagging8727 3 ปีที่แล้ว +4

    I can't focus on the right.

  • @waseemakram8778
    @waseemakram8778 2 ปีที่แล้ว

    What kinda gibberish was that?

  • @energy-tunes
    @energy-tunes 6 หลายเดือนก่อน

    Whats so funny i really dont get it shes literally holding herself from bursting into tears throughout the entire video?

  • @davidgrig4608
    @davidgrig4608 2 ปีที่แล้ว

    this presentation is useless and painful for me because I cant concentrate on code my brain stuck, the reason is the the angel with charming eyes and voice on left side of the screen. I think this should be a real problem for dev guys who work with such a good programmer and beautiful hot woman.

  • @mikem.8702
    @mikem.8702 2 ปีที่แล้ว

    As someone once said, if you don't know how to explains to others, your knowledge isn't useful. There're so many steps you're missing. Please learn to explain better.

    • @heraldo623
      @heraldo623 ปีที่แล้ว

      The video is obviously an introduction to core principles of the V8 interpreter but assumes the watcher has basic knowledge about interpreters. As so implementation details are ignored since it wasnt the goal.