Visualizing memory layout of Rust's data types

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ธ.ค. 2024

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

  • @JaLikon65
    @JaLikon65 11 หลายเดือนก่อน +71

    I genuinely think this video should be included in The Rust Book. It is an absolutely incredible resource. Thank you Sreekanth!!! This is amazing.

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

      Agree 100%

  • @PrinceKumar-u4k4y
    @PrinceKumar-u4k4y 3 หลายเดือนก่อน +6

    This video should be part of "The Rust Book". This really explains why rust has so many data types. We need more rust videos. Thank You Sreekanth 👏👏

  • @0runny
    @0runny ปีที่แล้ว +20

    This is an excellent video! It really helps you understand the WHY's of different memory management techniques in Rust. Many Rust videos explain how to do things, but very few explain why to do things. This video is a must watch if you really want to understand Rust under the covers. Well done!

  • @turun_ambartanen
    @turun_ambartanen ปีที่แล้ว +16

    Thank you for uploading with better audio. I could not stand the voice of the other version, but this one is alright to listen to.
    Great video!

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

    Please do this extended explanation also for containers such as deque hashmap btreemap etc. Thank you for effort put in this video.

  • @laplacedoge
    @laplacedoge 7 หลายเดือนก่อน +5

    This video should be seen by more people!

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

    Thank you for your work. This video clarified many questions I had about memory alignment and helped me to understand how Rust is able to perform some optimizations, such as using a single usize for storing an Optional RC and Box. Keep up the good work!

  • @aimericsorindev253
    @aimericsorindev253 10 หลายเดือนก่อน +3

    Thank you for your work, this is I think the best video I've seen about this subject and the first time I clearly understand the memory management in Rust. Clearly a video all people learning rust should watch. Really nice explanations on why things work like this and not just how. If you could do a video about async rust / Tokio that would be awesome !

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

    Thanks for updating the audio!

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

    Thank you so much for reuploading

  • @clintondannolfo714
    @clintondannolfo714 7 หลายเดือนก่อน +2

    Incredible video, thank you very much!!

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

    This is the best rust explanation video in the world. I would give anything if there also is an in-depth look at the concepts of functional programming in rust explained like in this video because those concepts are crucial to understand rust and I'm still struggling to understand them.

  • @HereIsZane
    @HereIsZane 4 หลายเดือนก่อน +2

    Amazing content, please do more rust themed deep dives

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

    The first 20 minutes is valuable to anyone who writes software in any language. Love this!

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

    Fantastic content. Nothing fancy, just straight to the point.

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

    Great explanation.

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

    This was INSANELY helpful. Thank you so much! 🙏🙏🙏

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

    this video is just amazing!!!

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

    very good video! first time I really understood how stuff works behind the scenes! especially with rust enums - I didn't know it's like a union
    maybe do a follow up video on interior mutability, that'll be really interesting!

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

    Wow, thanks a lot! This is very well done! Great visualizations and explanations 😊

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

    Personally I find this video extremely valuable @Sreekanth not just for Rust for compiled languages internals. Question I have what is the font used ? It looks like Jetbrains Mono but with some font ligatures turned on. Not sure what are the values

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

      I use github.com/be5invis/Iosevka

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

    This was great

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

    Excellent video. I just wish animation of the stack to show chunks of memory allocated like a stack (one on top of the other) and freed the same way. I find it more intuitive.

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

    An amazing video....

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

      What a genius this man is...Where did you learn so much thing?

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

    This is cool. Can you tell us what you used for animating these graphics and the text? Also what audio generator is used here?

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

      - For this one, I used powerpoint to generate the video. For all other videos in this channel, I use github.com/ManimCommunity/manim.
      - Audio is generated with TTS service in Azure. Combined both with Davinci Resolve.
      - Subtitles with timings can be generated with github.com/m1guelpf/auto-subtitle (minor corrections will be needed).

  • @Илья-п4м3щ
    @Илья-п4м3щ ปีที่แล้ว

    35:10 probably not true, because the same example not compiles, if use something meaningful like println, not drop
    upd. i mistaken, seems like thats because of using println

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

    very very helped me. thanks a lot🎉🎉

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

    around 11:00 isn't it a move instead of copy?

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

      it’s a copy in memory level. Move is a compile level thing.

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

    Thank you so much bro.

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

    Actually, at 19:10 you've made an incorrect amend. Trait objects are in fact DSTs, that was correct. Remember you can't create an array or slice of trait objects - [dyn Trait] - or receive one as a parameter - fn func(x: dyn Trait) - or use `self` in a Trait method, because each Trait implementation will have a different size. What do have known sizes are owned trait objects - e.g. Box and other smart fat pointers - and references to trait objects - &dyn Trait.

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

    Is this presentation available anywhere?

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

    i don't understand why can't slices be allocated on the stack? in c++ they do and i think it's the same in rust
    also are sou sure that enums store index for each element? in c++ variants only the index of the alternative is stored which is enough to denote the type of the underlying union.

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

    terminator is teaching us rust.

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

    Better yet, do you have a written version of this with embedded images of the diagrams in this video?
    -This is quite informative, but the generated voice's intonation is making it difficult to pay attention or process the information given.-

    • @sreekanthpr
      @sreekanthpr  9 หลายเดือนก่อน +2

      Most of this is covered in the book "Programming Rust"

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

      @@sreekanthpr Thank you!

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

    subbed 4 this 1

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

    i love this video so much
    do you have sources for this material?

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

    Rust 💟

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

    Reupload with different automated voice?

    • @sreekanthpr
      @sreekanthpr  ปีที่แล้ว +10

      Yea. I feel this audio is better compared to the one in the first video.

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

      What’s the reason you don’t narrate it yourself?

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

      @@sreekanthpr I agree, this voice is way less noisy and more natural

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

      @@MrHirenP I would also like to know

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

      @@MrHirenP maybe he has health issues, maybe he's insecure, maybe his english pronunciation isn't good. doesn't matter, he's posting excellent content

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

    autoread got just promoted to the next level lol

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

      26:00 very important gotcha!

  • @immanuel5513
    @immanuel5513 28 วันที่ผ่านมา

    but , what's going on, what's your next video about rust ?

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

    Your are goat.

  • @Singh54321
    @Singh54321 3 วันที่ผ่านมา

    Wow

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

    Very useful, could you do a video on zig allocators?

  • @normalhumanbeing6066
    @normalhumanbeing6066 29 วันที่ผ่านมา

    how is this gonna fix my divorce