great topic to touch on! other than the speedup benefits, there are consequences as well if we disable garbage collection: memory leaks, manual management is hard. I also agree with some comments pointing out using gc.collect() manually in a running function makes it slower.
Great video, thank you for making it. Probably not a use-case for me but nonetheless I found the whole topic fascinating, and really well explained. Please consider covering more of these "under the hood" topics. For about a year I struggled to learn C++ (I'm only a hobbyist) thinking all the while that Python was a bit "mickey mouse". Then I came back to it when I realised that pretty much everything I would want to do was more than catered for in Python. OK, so the trade-off is speed - but that's fine for me, and easily outweighs the fairly complex tool chains that are required for C++.
@@zenova9926 Mojo still has garbage collection, which makes it irrelevant for system programming. Mojo is for number crunching but not at all for time critical operations (like what you need in schedulers, databases, operating systems). Thats where C is still standard and Rust now entering the scene on the linux kernel. Despite the speed, Mojo solves a lot of problems with different types of GPUs, which are needed for AI. So, depends on what you wanna do. @skf957 was talking about C++, sounds like system or game programming. neither of them will ever be written with Mojo.
Awesome explanation. I've a question. When do you suggest to manually turn off GC and what will be the benefits? Say I'm processing a huge set of data and creating a new structure. The size of set is 80K. Now turning of GC will speed up the process but will increase the memory usage. So when should we consider the manual approach?
Great video. You always give me new knowledge to improve my Python code and don't just settle in the "if it works, don't touch it" mindset.
Please keep doing these, you explain things really well and thoroughly!
Thank you for the video man. Cleared a lot of my querries in just 15 minutes.
Really interesting topic. Do you have a video about how memory in python implemented? (about heaps, stacks, references to objects etc.)
its just practice
Thank you very much! A great short video really helped me understand GC in python.
great topic and review, as always, keep it up pybro :)
great topic to touch on!
other than the speedup benefits, there are consequences as well if we disable garbage collection: memory leaks, manual management is hard.
I also agree with some comments pointing out using gc.collect() manually in a running function makes it slower.
Thanks for the interesting video's. Have a nice 2024!
Best py developer in the world ❤
Nice video!
Great video, thank you for making it. Probably not a use-case for me but nonetheless I found the whole topic fascinating, and really well explained. Please consider covering more of these "under the hood" topics.
For about a year I struggled to learn C++ (I'm only a hobbyist) thinking all the while that Python was a bit "mickey mouse". Then I came back to it when I realised that pretty much everything I would want to do was more than catered for in Python. OK, so the trade-off is speed - but that's fine for me, and easily outweighs the fairly complex tool chains that are required for C++.
Don't worry bro, Mojo (a superset of python, like typescript to javascript) is becoming mainstream soon and it's as fast as rust.
@@zenova9926 Mojo still has garbage collection, which makes it irrelevant for system programming. Mojo is for number crunching but not at all for time critical operations (like what you need in schedulers, databases, operating systems). Thats where C is still standard and Rust now entering the scene on the linux kernel. Despite the speed, Mojo solves a lot of problems with different types of GPUs, which are needed for AI. So, depends on what you wanna do. @skf957 was talking about C++, sounds like system or game programming. neither of them will ever be written with Mojo.
Awesome explanation. I've a question. When do you suggest to manually turn off GC and what will be the benefits? Say I'm processing a huge set of data and creating a new structure. The size of set is 80K. Now turning of GC will speed up the process but will increase the memory usage. So when should we consider the manual approach?
@@AvacadoJuice-q9b Thanks for the explanation. I would experiment with these.
very interesting thanks a lot. Now I am curious how it's gonna file in a real system with `celery workers` etc.
Thanks
at 3:53 a reference to L1 from L3 doesn't seem to matter right?
Do context managers help to avoid unnecessary garbage in memory?
Interesting video
which video editor you use in pop os, i am getting problem in installing Davinci resolve. Can you help?
Shotcut is also a FOSS alternative
wow!! wtf! awesome
Who’s code did you rip of this time? Who’s comment did you delete?