Search a title or topic

Over 20 million podcasts, powered by 

Player FM logo
Artwork

Content provided by Adafruit Industries. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Adafruit Industries or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.
Player FM - Podcast App
Go offline with the Player FM app!

Deep Dive w/Scott: Optimize CP Garbage Collection

2:05:29
 
Share
 

Manage episode 476647663 series 1242341
Content provided by Adafruit Industries. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Adafruit Industries or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://podcastplayer.com/legal.
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/ -----------------------------------------
  continue reading

4877 episodes

Artwork
iconShare
 
Manage episode 476647663 series 1242341
Content provided by Adafruit Industries. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Adafruit Industries or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://podcastplayer.com/legal.
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/ -----------------------------------------
  continue reading

4877 episodes

كل الحلقات

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Listen to this show while you explore
Play