WHY IS THE STACK SO FAST?

Поделиться
HTML-код
  • Опубликовано: 16 май 2024
  • In this video we take a look at the Stack, which sometimes is called Hardware Stack, Call Stack, Program Stack....
    Keep in mind that this is made for educational purposes, so many of the information is oversimplified for easy understanding.
  • НаукаНаука

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

  • @CoreDumpped
    @CoreDumpped  3 месяца назад +224

    For people disagreeing on the stack grown upwards (address) in the animation.
    As someone else commented:
    "Growing downwards is a convention from when computers had small memories and the stack was placed at the end of the data segment... nowadays the stack can be anywhere, but the convention stuck on, at the end of the day it makes no difference".

    • @geekzombie8795
      @geekzombie8795 3 месяца назад +9

      Did people not see your note at 9:03?

    • @ddopson
      @ddopson 3 месяца назад +8

      That's a silly thing to disagree with. Up, down, it's a subjective choice unless you define which way the address range is incrementing.

    • @Luclecool123
      @Luclecool123 2 месяца назад

      Also I think you confused internal and external fragmentation

    • @DennisHolmberg-sl1hz
      @DennisHolmberg-sl1hz 2 месяца назад +3

      It's just as bad in real life; uptown, downtown. Up because why? North? South? Towards the mountains, or ocean? Meh, some arguments are really not worth the trouble, you adapt and move on; unless it is family, then frankly it's war. ☺

    • @leaks1965
      @leaks1965 2 месяца назад

      What you used to animate this video?

  • @fahoudey
    @fahoudey 3 месяца назад +418

    there is severe lack of educational material on youtube that teach conceptual subject of software and programming, I'm glad I found your channel keep up the good work my friend !

    • @kimjinuk6324
      @kimjinuk6324 3 месяца назад +13

      Nah you just need to know how to search properly and you will find gems

    • @euclid9492
      @euclid9492 3 месяца назад +8

      Definitely. There’s an overwhelming abundance of good videos for surface level beginner material because that’s where you get the most viewers. Once you get deeper into a topic there quickly becomes only a select few creators that are willing to make more difficult videos for a much smaller audience that is at that level.

    • @0LoneTech
      @0LoneTech 3 месяца назад

      There's some excellent material, e.g. MIT OpenCourseWare. Of course quality is rarely recognized, let alone promoted.

    • @thesquee1838
      @thesquee1838 2 месяца назад +3

      There is actually a huge depth of information. Just look around and maybe try and figure out exactly what to look for

    • @krellin
      @krellin Месяц назад

      there is lack of people who care about it, i think there is plenty of content, though quality is not as in this video...

  • @wrathofainz
    @wrathofainz 3 месяца назад +94

    Code salesman: **Slaps roof of stack**
    "This bad boy can fit so much data in it."

  • @makadi86
    @makadi86 3 месяца назад +70

    People who explain complex things in this simple way are considered a rare coin. You have gained a large number of subscribers with only three videos. Please continue, perhaps this channel will achieve great success.

  • @adansmith5299
    @adansmith5299 3 месяца назад +108

    Only 3 minutes in, but I've had dreams of a youtuber with such a beautiful and minimalistic style that doesn't just go over brief basics. Thank you!
    Edit: It's so deeply upsetting that the best and most interesting learning channels get such little attention

    • @Scrawlerism
      @Scrawlerism 3 месяца назад +5

      its the basics delivered to you by an ai voice lol. its nice but its not that nice.

  • @DS-rd8ud
    @DS-rd8ud 3 месяца назад +26

    These are some of the fundamentals that should be covered on any software development educational setting, specially when they're presented in such a visual fashion. Thank you for making this.

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

    Masterly done, the best video about the stack. A gem. Unfortunely not all people are made to teach.

  • @techno_tuna
    @techno_tuna 3 месяца назад +17

    Thank you dearly for going over everything you did. Please don't ever feel pressured to summarize or assume the viewer knows, if everybody assumes that everybody already knows (as much of the programming world seems to do) information becomes insular and difficult to access. You're doing an amazing public service.

  • @CaptTerrific
    @CaptTerrific 3 месяца назад +42

    This was the PERFECT length and complexity for an introduction to this topic! Concise, yet doesnt presuppose a ton of knowledge, while also not delving into a bunch of side comments on details/scenarios that do nothing but stroke the creator's ego while confusing the audience :)
    JUST enough to know where the OS fits, types of memory, stack size constraints, etc., to understand the implications on performance and utilization, while still focusing solely on the stack itself. It leaves the viewer with tons of questions to learn more, but few to no questions about the content presented here. Bravo!

  • @pedroivog.s.6870
    @pedroivog.s.6870 2 месяца назад

    I really appreciate how considerable you are for mobile viewers. Many programming youtubers just show their computer screen and the letters of the code become miniscule

  • @mutt8553
    @mutt8553 3 месяца назад +7

    Incredible video! As a 4th year CS major, I haven’t seen such a detailed and intuitive description of the stack in any of my classes. Looking forward to the heap video!

  • @magwoo3281
    @magwoo3281 3 месяца назад +12

    It's just great! I watched other videos about the stack, understood how it works, but there were a lot of questions, and in this video you just visualized everything perfectly and explained it! I'm really looking forward to a video about a heap

  • @reold
    @reold 3 месяца назад +5

    This channel is GOLD 🔥! Now I know what the Cache, Swap etc is. True gold! Please keep making these videos ❤

  • @CaioCodes
    @CaioCodes 3 месяца назад +11

    Great video, thanks for sharing this knowledge.

  • @falthramheraldofcalamity3051
    @falthramheraldofcalamity3051 3 месяца назад +3

    I’ve always been interested in programming on a conceptual level, but never really had the time or resources to research them myself (I’m just a hobbyist, who’s learning in my free-time). Your videos are very fun and interesting to me and I feel like I’m learning a lot from them. I’m very excited to see more in the future!

  • @TeamRocketPokeMMO
    @TeamRocketPokeMMO 3 месяца назад +3

    I'm mainly only receptive to video educational content and I found yours to specifically resonate with my learning style. Earned a sub, well done.

  • @byetaeyang
    @byetaeyang 3 месяца назад +6

    This was such an amazing video. I really believe the way this video articulated each point and built up to the answer. The pace was also great. Please keep up these sort of educational low level videos!

  • @bruford911
    @bruford911 10 дней назад

    More videos please! Your method keeps me from being overwhelmed.

  • @devilish_crow
    @devilish_crow 3 месяца назад +33

    Good educational and informative video, as always, nice job!

  • @zweizweidreizweidreinull
    @zweizweidreizweidreinull 3 месяца назад

    i really like how elaborately you explain these concepts, as someone just getting into systems programming, your videos are really helpful to me

  • @himanshupradhan5796
    @himanshupradhan5796 3 месяца назад

    Best video I’ve seen in a while. Perfect blend between programming and hardware information.

  • @IIIA_KO
    @IIIA_KO 3 месяца назад

    I've been looking for some explanation like this for years, so I could understand some concepts which didn't live my mind for all that time. And this channel just appeared in my recommendations. Thanks for very informative video.

  • @pizzainc.1465
    @pizzainc.1465 6 дней назад +1

    The stack usually grows downward from before the kernel, giving it plenty of space, and reducing the chance of a stack overflow. Theoretically, you could get the stack to loop back around, but even then, data grows upwards from right after the kernel, so you would have to fill your stack a lot, so that it loops around (I have seen examples where that is 524,288 memory locations, and that’s for a raspberry pi), and then have so many files that it is feasible that the stack will overwrite one.

  • @ishaangupta4166
    @ishaangupta4166 3 месяца назад

    Amazingly done. I finally understand what on earth the stack even means. Why its so fast is secondary. Thank you for this !

  • @PMuXeA
    @PMuXeA 3 месяца назад +1

    Dude, finding your channel was awesome. As a chemist who likes to code the repetitive homework stuff, learning these concepts is very nice insight. Thaaaaanks!

  • @Hellbending
    @Hellbending 3 месяца назад +3

    This RUclipsr is cracked mannn let’s go!!! Such a beautiful presentation of knowledge, thanks man! Keep doing what you doing brother 💪❤❤❤❤

  • @bennwalton
    @bennwalton 3 месяца назад +2

    Great vid! I have always wondered why I can't add to an array, this makes it perfectly clear to me

  • @tortellini_soup
    @tortellini_soup Месяц назад +1

    Great video! Liked after hearing the proper use of the word “datum” at 8:28. 😉

  • @guruG509
    @guruG509 Месяц назад

    Excellent, as an embedded software dev, these kind of videos are a rare gem. Keep em coming

  • @cinderwolf32
    @cinderwolf32 3 месяца назад

    I incidentally did happen to know all of these things already, but you still get a like from me! The visuals are excellent and the topics are some of my favourite. I look forward to more like these!

  • @soggy_dev
    @soggy_dev 3 месяца назад

    This was such a great video. I learned this sort of stuff in university, but i always find it tough to brush up on outside of that environment. This was thorough, entertaining, and not bogged down by hardware specific implementation details. Subbed and looking forward to all of your future work 👍

  • @psionic111
    @psionic111 3 месяца назад

    I love your teaching style and sense of humo...

  • @cole.maxwell
    @cole.maxwell 3 месяца назад +3

    Wow this was awesome! In all of the discussions on stacks and heaps I have heard online and in university I’ve never heard anybody explained that the CPU has a stack register. I can believe I didn’t know that. Makes a lot more sense why the access is so fast.

    • @Turalcar
      @Turalcar 2 месяца назад +1

      There are also register stacks. e.g. in SPARC. I could try to explain it in a comment but the Wikipedia article does it better.

  • @yosfodey2073
    @yosfodey2073 2 месяца назад

    That was the best explanation of memory stack I have ever seen.

  • @Dazed_04
    @Dazed_04 3 месяца назад

    I don't know what I'm doing but it's probably right cuz i got this video in my algorithm. I can't believe how low the subscribers are on this channel when the quality of your content is so high. The minimalistic style of animation is also a huge relief as compared to others who focus more on the animation than the explanation. This was a breeze of fresh air. Excited for the video about heap!!

  • @christianpasch7305
    @christianpasch7305 3 месяца назад

    Excellent work, pure content with simple description and impressive animation. You hit the point with every sentence. I'm looking forward to the "heap"

  • @user-vv9hf4yf1d
    @user-vv9hf4yf1d 3 месяца назад

    Your clear explanations and diagrams in video are very intuitive! I have comprehend a lot of things than my university experience.. appreciate that!!!

  • @alexandernanda2261
    @alexandernanda2261 3 месяца назад +1

    Best low level content on this platform. No question

  • @cedricvereecke6108
    @cedricvereecke6108 3 месяца назад

    I think this is the first video I've ever seen from this channel. Really liked it.

  • @malikmoinawan6942
    @malikmoinawan6942 Месяц назад

    if teaching something an art, you are the artist. I speak python and now a days learning c++ just for fun and your videos explain a lot of things here.

  • @tristan4491
    @tristan4491 2 месяца назад

    I'm learning about memory allocation in c++. (self taught).
    I have watched numerous videos on stack / heap. They are all very confusing and the fact that you did this so well in such a short time is of great value to me.
    I know have a understanding of whether i want to choose stack or heap. I also understand why i would use the smallest primitive type possible so that the cache is not wasted.
    Very greatful. Thankyou

  • @xE92vD
    @xE92vD 3 месяца назад

    This is great. Easy to understand and follow.

  • @sametyldz1953
    @sametyldz1953 Месяц назад

    the best explanation i have ever listened

  • @samaellovecraft
    @samaellovecraft Месяц назад

    Thanks for the knowledge!

  • @loukafortin6225
    @loukafortin6225 2 месяца назад

    You have earned my subscription, that was a better crash course than my SOEN classes

  • @0xfrian
    @0xfrian 3 месяца назад +2

    This channel is like a breath of fresh air for someone like me who's trying to learn Rust but hasn't studied CS formally or been properly exposed to the fundamentals. I'm not a bootcamp graduate, I'm just a self-taught frontend dev who's trying to break into systems-level development. Keep up the great work ❤

    • @hindustaniyodha9023
      @hindustaniyodha9023 3 месяца назад +1

      If you want to work with embedded systems, I would suggest you take an overview of OS and COA.

  • @willlagergaming8089
    @willlagergaming8089 3 месяца назад

    Your upload schedule is amazing. Keep up the good work.

  • @jawadtahmeed9854
    @jawadtahmeed9854 2 месяца назад

    Your style of explaining is quite comfortable to follow and easy to understand. Keep making these videos. Already subbed !

  • @orangeisbetter
    @orangeisbetter 3 месяца назад

    This is a very well-made video about stacks. Nicely done. 5 gold stars for you.

  • @sharokhkeshawarz2122
    @sharokhkeshawarz2122 3 месяца назад

    wow i got recommended this video and damn it makes it so easy to understand with animations man THANK YOU!

  • @BlaBlaBlaInDaHouse
    @BlaBlaBlaInDaHouse Месяц назад

    Another amazing video, thank you for your time and effort!❤

  • @buildln
    @buildln 3 месяца назад

    Exceptionally Great explaination with examples. Keep teaching stuff like this.

  • @spacebuddy5339
    @spacebuddy5339 3 месяца назад

    This has got to be one of the best videos I've watched on RUclips concerning the art. Thank you so much. Do you have any book recommendations?
    Edit: And I hesitated to watch when it was recommended to me 3 days ago. Fast forward now I'm subscribed!

  • @cronos864
    @cronos864 Месяц назад

    Amazing video and the visuals were really on point. Thanks!

  • @dputra
    @dputra 3 месяца назад

    What a concise explanation accompanied by a very intuitive graphics! Kudos to you!
    Please continue delivering this kind of high quality videos 😊

  • @banhminuongmuoiot
    @banhminuongmuoiot 3 месяца назад

    Thank u for sharing this much brilliant knowledge. I’ve learned a lot from this video. Appriciate it 🥰

  • @reidosreis4k
    @reidosreis4k 3 месяца назад

    Great video, you are doing a great job explaining low level concepts in a very digestable way. I am excited to see your next videos

  • @zklim
    @zklim 3 месяца назад

    This is amazing, looking forward to learn more about optimisation and security

  • @sneaksneak6522
    @sneaksneak6522 3 месяца назад

    This was a really cool well explained video. Please do more of these!

  • @GospodinStanoje
    @GospodinStanoje 3 месяца назад +1

    Very eloquent and detailed explanation. I liked the animation too. Keep it up!

  • @jakubrembiasz8942
    @jakubrembiasz8942 3 месяца назад

    Best video ever! Keep this awesome channel growing!

  • @myzel394
    @myzel394 3 месяца назад

    While the computer voice is a bit strange at first, the video is definitely pure gold. honestly, it's awesome to see such great content on youtube, definitely keep up the good work! btw, it'd be awesome if you could add the sources to the description :D

  • @patrickc.6183
    @patrickc.6183 3 месяца назад

    Great animations and concepts; brief, but thorough!

  • @somnvm37
    @somnvm37 2 месяца назад +1

    One little detail: recursion can be as good as iteration, it is less efficient and easely causes overflow in langauges languages like c++ and rust because they aren't optimised for it, and they shouldn't be.
    just, important to understand, recursion isn't inherintly worse than iteration. It would cause no issues in fp languages.

  • @manawa3832
    @manawa3832 3 месяца назад

    Your style of teaching is good. By starting with a misinformed premise, then correcting it, using it as cure against "this is why we don't just do that". This is typically the reason why I don't understand many concepts, not just in compsci. "why doesnt it just do *this*" and then I can't accept the information given to me because I think it is wrong information. This is important, because the way we learn is by building a tower of understanding using smaller blocks. If any of those blocks are wrong or misinformed, then the whole tower will fall down.

  • @himhimlo126
    @himhimlo126 3 месяца назад

    Thank you very much~ I totally love this video. I finally make myself clearly understand these foundation knowledge;) I have been told again and again that allocating in stack is faster than in heap but no one try to tell me why before you XD. Thanks thanks thanks~

  • @LielAlmog
    @LielAlmog 2 дня назад

    I’m sure that this videos are very hard to make, especially with all the illustrations and the animation but I have to say that you explain those topic in a very good way that I can easily understand.
    Keep the good job and I am waiting to see more of these videos in this topics which are very interesting

  • @dipanshubhanot78
    @dipanshubhanot78 3 месяца назад

    Thanks a lot for going into such detail. This video was so well crafted, definitely subbing. I was curious if you have any recommendations for other resources which go into systems concepts that you’d recommend

  • @nagoshi01
    @nagoshi01 3 месяца назад +1

    Can't wait for the Heap video!! This was great

  • @its_Khoa
    @its_Khoa 2 месяца назад

    this is some phenomenal explaination, i think its even better than my uni courses, well done, looking forward for more videos from you

  • @wlcrutch
    @wlcrutch 3 месяца назад

    My new favorite channel. ❤

  • @wqlky1
    @wqlky1 2 месяца назад

    Great video, great explanation. I didnt know anything about this and i learnt a lot.

  • @iamworstgamer
    @iamworstgamer 2 месяца назад

    i am eagerly waitin for more your content, after working 9 years in the industry as app and web developer, I want to dive in low level programming, but only two channels I got which are educational, you and low level programming. keep posting

  • @m___pryor
    @m___pryor 3 месяца назад

    Phenomenal video, wow, thank you!

  • @allinballsout1
    @allinballsout1 3 месяца назад

    Love this. Thank you!

  • @pritonce6562
    @pritonce6562 2 месяца назад

    Most of this stuff I already knew. But I was always concerned about knowledge holes.
    The way you explain things in your heap video and ESPECIALLY this one reassured me of the things I knew, explained things I never questioned just enough to allow me to piece the rest together by myself and explain things I didn't know before so well I could just pick them up without issue.
    If I had to suggest one thing it would be to make followup episodes on topics to explain more advanced concepts. Like in which direction does the stack grow and why? How do function calls store data on the stack to return? What are stack cookies and how do they contribute to security against buffer overflows? How does malloc organize the heap? Stuff like that for example.
    You don't see this often on RUclips at all. Take my sub! If I had the money I would become a member without second thought.

  • @tngdwn8350
    @tngdwn8350 3 месяца назад

    Loved this video. Great explaination, high video quality and a wonderful illustration!

  • @InMemoryOfNeo
    @InMemoryOfNeo 3 месяца назад

    waaaaaaauw!!!!! neighter in university nor in any other place nobody explains that how stack works and how processor cache works. you're awesome bro.

  • @kuleika01
    @kuleika01 2 месяца назад

    Hi George, love your videos. Thanks for this good work!

  • @theoryofimagination5214
    @theoryofimagination5214 3 месяца назад +1

    awesome video, just like the last one. please do make a video about the heap and virtual memory. thank you, stay well

  • @ezsnova
    @ezsnova 2 месяца назад

    Peak of computer science knowledge explanations.

  • @MarcioBrenerCosta
    @MarcioBrenerCosta 3 месяца назад

    Thanks a lot for a such complex and usuful subject.

  • @maheshkanojiya4858
    @maheshkanojiya4858 3 месяца назад

    Superb video, thank you so much, love from India 🇮🇳🇮🇳🇮🇳

  • @juanferrer5885
    @juanferrer5885 2 месяца назад

    I love this content, great job!!!

  • @tronikel1434
    @tronikel1434 3 месяца назад

    Dude wtf this is so good, please dont stop doing this

  • @jasdfff770
    @jasdfff770 26 дней назад

    Great video!! What books that delve into memory managment do you recomend?

  • @XxYOURSxXxTRULYxX
    @XxYOURSxXxTRULYxX 3 месяца назад

    This is great I was struggling to understand stack vs heap

  • @hamzacoskun8190
    @hamzacoskun8190 3 месяца назад

    thank you for the video. it was so helpful.

  • @zonn8954
    @zonn8954 3 месяца назад

    Very good video, the only point missing is why their is padding and memory alignment. The answer is that it is still cache related, but it's a little more complex so understandable it was not mentioned.

  • @dawid0115
    @dawid0115 3 месяца назад

    holy.. i knew everything you said in this video but maaan.. that animation! love the video, sub clicked!
    teaching in a visualized way is the best!

  • @Diablokiller999
    @Diablokiller999 2 месяца назад

    Totally forgot that from my computer engineering class, as mindblown as in the auditorium back then :)

  • @lucassantato6585
    @lucassantato6585 2 месяца назад

    what a great video, thank you!

  • @Talel_kraiem
    @Talel_kraiem 3 месяца назад

    You boy this is dope as f# , please continue making videos it makes me excited for computer science

  • @AK-vx4dy
    @AK-vx4dy 3 месяца назад

    Very concise and logical pill of knowledge on topic with nice and clear animations. Very good job!
    Level of expected prior knowledge ideal for topic. Againg great job sir!
    No need to excuse for simplifications, level is exacat how should be for this form and topic.

  • @pointer333
    @pointer333 3 месяца назад

    This is a fantastic video. Thank you! Subscribed!

  • @garimayy23
    @garimayy23 3 месяца назад +3

    Bro, the quality of the video, editing, your way of presentation and everything else is just so underrated. Subscribed since your last video, hopefully more low level stuff in the future. Also, the end lmao

  • @RepChris
    @RepChris 3 месяца назад

    An iterative solution usually has very little difference in the actual machine code, except you manage the "stack" for it directly. Thats usually rather handy if the local frames dont change much, or only are relevant till the next recursion call, since you can reduce them to just one in that case (tail-end recursion).
    Thats for an iterative solution that's pretty much identical to the recursive one, there are of course others cases too.

  • @long-live-linux
    @long-live-linux 2 месяца назад

    This video is great also for those who already understands the concepts, because they always struggles to explain memory management of OS due to its complexity.

  • @TheSast
    @TheSast 3 месяца назад +2

    Amazing visual representations! Are you using motioncanvas?

    • @CoreDumpped
      @CoreDumpped  3 месяца назад +3

      Believe it or not, it's just Power Point slides.

  • @hamzaarras
    @hamzaarras 3 месяца назад

    Great explanation. Thanks!