Artwork

Contenuto fornito da Adafruit Industries. Tutti i contenuti dei podcast, inclusi episodi, grafica e descrizioni dei podcast, vengono caricati e forniti direttamente da Adafruit Industries o dal partner della piattaforma podcast. Se ritieni che qualcuno stia utilizzando la tua opera protetta da copyright senza la tua autorizzazione, puoi seguire la procedura descritta qui https://it.player.fm/legal.
Player FM - App Podcast
Vai offline con l'app Player FM !

Deep Dive w/Scott: Optimize CP Garbage Collection

2:05:29
 
Condividi
 

Manage episode 476647663 series 1242341
Contenuto fornito da Adafruit Industries. Tutti i contenuti dei podcast, inclusi episodi, grafica e descrizioni dei podcast, vengono caricati e forniti direttamente da Adafruit Industries o dal partner della piattaforma podcast. Se ritieni che qualcuno stia utilizzando la tua opera protetta da copyright senza la tua autorizzazione, puoi seguire la procedura descritta qui https://it.player.fm/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

4860 episodi

Artwork
iconCondividi
 
Manage episode 476647663 series 1242341
Contenuto fornito da Adafruit Industries. Tutti i contenuti dei podcast, inclusi episodi, grafica e descrizioni dei podcast, vengono caricati e forniti direttamente da Adafruit Industries o dal partner della piattaforma podcast. Se ritieni che qualcuno stia utilizzando la tua opera protetta da copyright senza la tua autorizzazione, puoi seguire la procedura descritta qui https://it.player.fm/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

4860 episodi

All episodes

×
 
Loading …

Benvenuto su Player FM!

Player FM ricerca sul web podcast di alta qualità che tu possa goderti adesso. È la migliore app di podcast e funziona su Android, iPhone e web. Registrati per sincronizzare le iscrizioni su tutti i tuoi dispositivi.

 

Guida rapida

Ascolta questo spettacolo mentre esplori
Riproduci