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/
-----------------------------------------