Blazor WebAssembly Garbage Collector innards

Viewed 137

As far as I understand, the Blazor WebAssembly runtime is single-threaded.

Can someone describe or point to a reference that explains how the garbage collector execution is interleaved with the rest of the Blazor application?

I would like to understand its concurrency details.

  • Does the garbage collector run on the same thread as the UI?
  • Is it generational?
  • If that is the case, will a full garbage collection stop the world until complete or is it executed in chunks to keep the UI responsive?
  • Is it done on a high level (i.e. using Tasks) or is it performed at a lower level? (perhaps invoked by the IL bytecode interpreter in a cooperative way?)
0 Answers
Related