Přesný algoritmus sice neznáme, ale je obecně známo, že GC se spouští na vždy při zaplnění heapu generace 0. Vzhledem k tomu, že heap 0 má nějakou definovanou pěvnou velikost (která pochopitelně závisí na použité platformě) a že GC heap 0 vždy úplně vyprázdní, dá se s jistotou tvrdit, že GC se spustí po naalokování určitého množství paměti od poslední garbage collection. Obecně je snaha, aby se GC spouštěl co nejméně, protože při kolekci se musí pozastavit všechna vlákna aplikace. Více informací třeba v článku http://msdn.microsoft.com/en-us/magazine.... Škoda, že tam není uvedena konkrétní velikost heapu 0, docela by mě zajímala, aspoň na nejběžnějších platformách. A btw nastavovat do proměnné Nothing, když se stejně na dalším řádku při skončení metody zruší, je taky zbytečné.
|