Deep Dive w/Scott: Optimize CP Garbage Collection episode artwork

EPISODE · Apr 12, 2025 · 2H 5M

Deep Dive w/Scott: Optimize CP Garbage Collection

from Adafruit Industries · host Adafruit Industries

Join Scott as he goes over a new optimization of the CP VM's garbage collection. He'll also answer any questions folks have. Visit the Adafruit shop online - http://www.adafruit.com Thanks to dcd for timecodes 0:00 getting started 0:47 hello everyone 1:24 intro to the Adafruit Metro rp2350 microprocess 5:00 Future plans while Scott is out/part time 5:59 Fruit Jam OS - ( capture video recording ... ) 8:47 with audio - recording that shows a couple of bugs ( 128 mS gaps triggered by garbage collection ) 11:00 Audio buffer with DMA through PSRAM which was too slow ( moved to SRAM ) 15:00 Bitmaps are not DMA'ed, but are still allocated outside the Python VM 17:00 Description of GC process 18:30 Mark-and-sweep in MicroPython and CircuitPython 20:28 Changing allocation to identify if there are allocations that don't containing pointers (for GC) 21:15 Bitmap.c - 22:36 gc.c gc_mark_+subtree 23:22 micropython split heap 25:49 Shared-bindings / displayio / Bitmap.C - mp_obj_malloc() vs. m_malloc() 30:49 misc.h allocations 32:43 dive into malloc.c and gc.c 44:00 continuing debugging with gdb 49:00 perhaps renaming the function will clarify things 53:22 gc_realloc() 56:17 if block is moved, need to copy the state 1:06:00 How do these improvements apply to micropython 1:09:10 Assertion failure in gc.c 1:13:51 Allocation/Debugging tools 1:28:42 handling re-alloc 1:31:55 consider TLSF tradeoffs 2:01:09 will be pushing the code to the leaf allocation branch 2:06:39 wrap up - should be here next week ----------------------------------------- LIVE CHAT IS HERE! http://adafru.it/discord Subscribe to Adafruit on YouTube: http://adafru.it/subscribe New tutorials on the Adafruit Learning System: http://learn.adafruit.com/ -----------------------------------------

Join Scott as he goes over a new optimization of the CP VM's garbage collection. He'll also answer any questions folks have. Visit the Adafruit shop online - http://www.adafruit.com Thanks to dcd for timecodes 0:00 getting started 0:47 hello everyone 1:24 intro to the Adafruit Metro rp2350 microprocess 5:00 Future plans while Scott is out/part time 5:59 Fruit Jam OS - ( capture video recording ... ) 8:47 with audio - recording that shows a couple of bugs ( 128 mS gaps triggered by garbage collection ) 11:00 Audio buffer with DMA through PSRAM which was too slow ( moved to SRAM ) 15:00 Bitmaps are not DMA'ed, but are still allocated outside the Python VM 17:00 Description of GC process 18:30 Mark-and-sweep in MicroPython and CircuitPython 20:28 Changing allocation to identify if there are allocations that don't containing pointers (for GC) 21:15 Bitmap.c - 22:36 gc.c gc_mark_+subtree 23:22 micropython split heap 25:49 Shared-bindings / displayio / Bitmap.C - mp_obj_malloc() vs. m_malloc() 30:49 misc.h allocations 32:43 dive into malloc.c and gc.c 44:00 continuing debugging with gdb 49:00 perhaps renaming the function will clarify things 53:22 gc_realloc() 56:17 if block is moved, need to copy the state 1:06:00 How do these improvements apply to micropython 1:09:10 Assertion failure in gc.c 1:13:51 Allocation/Debugging tools 1:28:42 handling re-alloc 1:31:55 consider TLSF tradeoffs 2:01:09 will be pushing the code to the leaf allocation branch 2:06:39 wrap up - should be here next week ----------------------------------------- LIVE CHAT IS HERE! http://adafru.it/discord Subscribe to Adafruit on YouTube: http://adafru.it/subscribe New tutorials on the Adafruit Learning System: http://learn.adafruit.com/ -----------------------------------------

NOW PLAYING

Deep Dive w/Scott: Optimize CP Garbage Collection

0:00 2:05:29

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

API Intersection Stoplight Building a successful API requires more than just coding. It starts with collaborative design, focuses on creating a great developer experience, and ends with getting your company on board, maintaining consistency, and maximizing your API’s profitability.In the API Intersection, you’ll learn from experienced API practitioners who transformed their organizations, and get tangible advice to build quality APIs with collaborative API-first design.Jason Harmon brings over a decade of industry-recognized REST API experience to discuss topics around API design, governance, identity/auth versioning, and more.They’ll answer listener questions, and discuss best practices on API design (definition, modeling, grammar), Governance (multi-team design, reviewing new API’s), Platform Transformation (culture, internal education, versioning) and more.They’ll also chat with experienced API practitioners from a wide array of industries to draw out practical takeaways and insights you can use.H TV Podcast Industries Chris Jones, Derek O'Neill and John Harrison. TV Podcast Industries TV Podcast Industries is a podcast that provides discussions and reviews of various TV shows, including recent popular series like Alien Earth, The Sandman, The Last of Us, The Boys, and Daredevil Born Again. They also cover shows such as Ironheart, Star Trek: Picard, The Rings of Power, and many more, spanning both Marvel and DC universes, as well as other genres. Heart to Heart Podcast One on One / Next Level Studios In the Heart to Heart Podcast, we talk to some of our favorite & most interesting people in the entertainment industry so you can feel empowered and learn that even in the most challenging of industries, where there’s a will there’s a way.Whether you’re an actor, a writer, a casting director, a talent rep, or just someone interested in the behind the scene happenings of the entertainment industry, this podcast will have something for you. NOW, this isn’t just another How To podcast for actors. Plenty of those shows already exist. In Heart to Heart, every guest will share stories inspired by their sometimes winding path to success on their own terms. Revisionist History Pushkin Industries Revisionist History is Malcolm Gladwell's journey through the overlooked and the misunderstood. Every episode re-examines something from the past—an event, a person, an idea, even a song—and asks whether we got it right the first time. From Pushkin Industries. Because sometimes the past deserves a second chance.To get early access to ad-free episodes and extra content, subscribe to Pushkin+ in Apple Podcasts or at pushkin.fm/plus.iHeartMedia is the exclusive podcast partner of Pushkin Industries.

Frequently Asked Questions

How long is this episode of Adafruit Industries?

This episode is 2 hours and 5 minutes long.

When was this Adafruit Industries episode published?

This episode was published on April 12, 2025.

What is this episode about?

Join Scott as he goes over a new optimization of the CP VM's garbage collection. He'll also answer any questions folks have. Visit the Adafruit shop online - http://www.adafruit.com Thanks to dcd for timecodes 0:00 getting started 0:47 hello...

Can I download this Adafruit Industries episode?

Yes, you can download this episode by clicking the download button on the episode player, or subscribe to the podcast in your preferred podcast app for automatic downloads.
URL copied to clipboard!