Adafruit Industries

Deep Dive w/Scott: Optimize CP Garbage Collection


Listen Later

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/
-----------------------------------------
...more
View all episodesView all episodes
Download on the App Store

Adafruit IndustriesBy Adafruit Industries

  • 4.8
  • 4.8
  • 4.8
  • 4.8
  • 4.8

4.8

13 ratings


More shows like Adafruit Industries

View all
3D Printing Projects by Adafruit Industries

3D Printing Projects

11 Listeners

Raspberry Pi by Adafruit Industries

Raspberry Pi

24 Listeners

Ask an Engineer by Adafruit Industries

Ask an Engineer

2 Listeners

Collin's Lab by Adafruit Industries

Collin's Lab

3 Listeners

New Products by Adafruit Industries

New Products

3 Listeners

Show and Tell by Adafruit Industries

Show and Tell

0 Listeners

3D Hangouts by Adafruit Industries

3D Hangouts

1 Listeners

Circuit Playground by Adafruit Industries

Circuit Playground

0 Listeners