All Projects → talkpython → python-memory-management-course

talkpython / python-memory-management-course

Licence: MIT license
Demo code exploring Python's memory models and collection algorithms from the Talk Python Training course.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to python-memory-management-course

mmtk-core
Memory Management ToolKit
Stars: ✭ 205 (+561.29%)
Mutual labels:  garbage-collection, memory-management
Redis Memory Analyzer
Redis memory profiler to find the RAM bottlenecks throw scaning key space in real time and aggregate RAM usage statistic by patterns.
Stars: ✭ 591 (+1806.45%)
Mutual labels:  memory-management, profiling
Scalene
Scalene: a high-performance, high-precision CPU, GPU, and memory profiler for Python
Stars: ✭ 4,819 (+15445.16%)
Mutual labels:  memory-management, profiling
Gc
Simple, zero-dependency garbage collection for C
Stars: ✭ 851 (+2645.16%)
Mutual labels:  garbage-collection, memory-management
cactusref
🌵 Cycle-Aware Reference Counting in Rust
Stars: ✭ 129 (+316.13%)
Mutual labels:  garbage-collection, memory-management
Ugc
A single-header incremental garbage collector library
Stars: ✭ 173 (+458.06%)
Mutual labels:  garbage-collection, memory-management
Bdwgc
The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (libgc, bdwgc, boehm-gc)
Stars: ✭ 1,855 (+5883.87%)
Mutual labels:  garbage-collection, memory-management
nodejs
Node.js in-process collectors for Instana
Stars: ✭ 66 (+112.9%)
Mutual labels:  garbage-collection, profiling
on-the-fly-gc
Concurrent mark-sweep garbage collector for accurate garbage collection of language runtimes in C++ 1x.
Stars: ✭ 25 (-19.35%)
Mutual labels:  garbage-collection, memory-management
guzzle-history-middleware
Guzzle History Middleware
Stars: ✭ 55 (+77.42%)
Mutual labels:  profiling
profiling
Non-discriminatory profiling of Ruby code leveraging the ruby-prof gem
Stars: ✭ 12 (-61.29%)
Mutual labels:  profiling
openprofiling-node
OpenProfiling is a toolkit for collecting profiling data from production workload safely.
Stars: ✭ 60 (+93.55%)
Mutual labels:  profiling
awesome-free-courses
A collection of all amazing free courses
Stars: ✭ 14 (-54.84%)
Mutual labels:  course
webempresa
Repositorio de la Web Empresarial del curso Django (revisado en la versión 4.0.2 con Python 3.10.2)
Stars: ✭ 17 (-45.16%)
Mutual labels:  course
Unity-delayed-asset
**DEPRECATED** Plugin for Unity that allows to assign assets in the inspector while preventing Unity from automatically loading the assets in memory when a scene is loaded
Stars: ✭ 19 (-38.71%)
Mutual labels:  memory-management
dev doctor
Free, opensource, serverless learning platform
Stars: ✭ 34 (+9.68%)
Mutual labels:  course
ML-University
Machine Learning Open Source University
Stars: ✭ 423 (+1264.52%)
Mutual labels:  course
MemoryPool
simple memory pool / thread safe / minimized context switching / Memory managed in 4 levels / Requirements(Windows xp~ / Visualstudio 2015)
Stars: ✭ 14 (-54.84%)
Mutual labels:  memory-management
NLP-Specialization
NLP Specialization (Natural Language Processing) made by deeplearning.ai
Stars: ✭ 44 (+41.94%)
Mutual labels:  course
research-computing-with-cpp
UCL-RITS *C++ for Research* engineering course
Stars: ✭ 16 (-48.39%)
Mutual labels:  course

Python Memory Management and Tips Course

This very unique course will teach not just how Python memory management works and how to create code that functions well within that world, it will provide many concrete techniques, tools, design patterns, and more to make your programs more memory efficient and computationally faster to boot.

If Python memory (allocations, clean up, and so on) has always felt like a weird black box that you have had to take for granted, join this course and open that box. There are many beautiful and interesting aspects of Python's runtime behavior making your code run. You should understand what's happening on your behalf.

What topics are covered

In this course, you will:

  • Learn how Python variables and data structures actually look in the CPython layer
  • See how the small object allocator treats most objects differently than your intuition
  • Understand Python's memory allocation primitives: blocks, pools, and arenas
  • Locate the elements on C code responsible for Python memory behavior
  • See reference counting in action with live code explorations
  • Discover why reference counting alone is not enough for memory cleanup
  • Work with Python's GC and see when it's needed, and when it's not
  • Compare different data structures to get a sense of their relative size
  • Use multiple clever but simple techniques to massively reduce memory during function calls
  • Lighten up your classes with properties
  • Leverage multiple memory profilers to investigate memory usage line by line and over time
  • And lots more

Who is this course for?

This course is for anyone who wants to understand how Python memory is managed and make their code more efficient and faster. If you're tired of Python memory being a black box hiding its behavior, turn on the light with this course.

The student requirements are quite light for this course. You'll need Basic Python language knowledge:

  • Classes
  • Functions
  • Properties
  • Variables
  • Loops
  • Iteration

Note: All software used during this course, including editors, Python language, etc., are 100% free and open source. You won't have to buy anything to take the course.

Take the course

Take the course online today at Talk Python Training.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].