🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: nl.comp.programmeren
Article #479

Re: C# garbage collector

#479
From: Ramon Smits
Date: Sat, 20 Sep 2003 11:53
61 lines
4215 bytes
Marco van de Voort wrote:

>>Dat zeg ik ook niet :). It's all about design. Waarom een object continu 
>>creeeren en destroyen als je weet dat je die actie per uur 1 miljoen 
>>maal moet doen. Dan is het nuttig dergelijke objecten te cachen. Maar 
>>dat is eigenlijk altijd al geweest.
> 
> Als ze in een freelist zitten voor een bepaalde grootte, zijn ze al
> gecollect. Dus gecachete allocaties tellen niet mee in je applicatie
> geheugen gebruik. (tenzij je VM/heapmanager ze niet freed als de memory
> low watermark gehaald wordt )

Wat is een freelist? Een lijst van alle recources waar geen references 
vanuit de applicatie meer staan?

Inderdaad... de tresshold bepaald wanneer de garbage collector gaan 
handelen. Maar dan moet inderdaad wel die tresshold behaald worden 
tijdens het draaien van de betreffende applicatie.

Een cache word nooit vrijgegeven. Dat is nou het mooie van een cache. 
Uiteraard telt die WEL mee met je applicatie geheugen gebruik. Aangezien 
de objecte in de betreffende cache snel oud worden gaat de .NET GC ze 
overslaan omdat deze in een oudere generatie komen. De .NET GC is zo 
slim om dan niet bij elke GC cycle die objecten te checken omdat ze 
waarschijnlijk nog steeds niet gecollect kunnen worden.

>>Je tekstverwerken is niet continu met een 
>>spellingscontrole ;bezig en je ontwikkelomgeving niet continu aan het 
>>compileren en je tekenprogramma niet continu een batch aan 
>>beeldbewerkingen.
> 
> 
> Maar de vertraging die uitswappen kost tijdens gewoon werken (en b.v. eens
> in de 10/20 minuten switches) is IMHO ook al fout, dat werkt al niet lekker
> meer als ie dan 10 seconden gaat trashen, om even iets in de documentatie
> te cut and pasten.

Inderdaad.. dat is ook vrij irritant. Garbage collecten wil je ook op 
die momenten doen zodra de betreffende applicatie idle is. Dat doet de 
VM in Java en .NET maar een C++ applicatie heeft dergelijke 
functionaliteit vaak niet omdat het een hels karwij is. De gebruiker 
merkt vaak deze opschoon acties dan ook vaak helemaal niet in Java en 
.NET. Het enige wat de gebruiker merkt is het jit compileren van de code.

Maar zolang systeem geheugen nog riant beschikbaar is is garbage 
collecten nog helemaal niet nodig. Dat is wat ik duidelijk probeer te 
maken. De .NET VM zal dat dan ook niet snel doen.

> De applicaties die genoemd werden zijn allemaal interactief. Voor slapende
> services kan ik het me nog voorstellen.

Wat kun je je voorstellen? Dat die idle zijn? Interactieve applicatie 
zijn ook net zo vaak idle.


M.v.g.,
Ramon

--
Ramon Smits aka. Exyll
http://www.exyll.net/ (ipv6 enabled)
Technical Details
Message-ID: <3f6c3fca$0$59340$e4fe514c@dreader8.news.xs4all.nl>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!diablo.theplanet.net!zen.net.uk!131.211.28.48.MISMATCH!humbolt.nl.linux.org!news.nl.linux.org!nntpfeed-01.ops.asmr-01.energis-idc.net!newsfeed.multikabel.nl!newsfeed.wxs.nl!transit.news.xs4all.nl!newsfeed.xs4all.nl!xs4all!rhinewceros.xs4all.nl!not-for-mail
References: <bkecq3$11sg$1@nl-news.euro.net> <1063971705.136647@seven.kulnet.kuleuven.ac.be> <3f6b8a0a$0$197$e4fe514c@dreader3.news.xs4all.nl> <bkh1nn$g66$1@news2.tilbu1.nb.home.nl> <3f6c1dd6$0$135$e4fe514c@dreader4.news.xs4all.nl> <slrnbmo8qj.dt1.marcov@toad.stack.nl>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: 107324,99e0602d9fb9d25e
X-Google-Attributes: gid107324,public
X-Google-Thread: fcea4,99e0602d9fb9d25e
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-09-20 04:53:53 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!diablo.theplanet.net!zen.net.uk!131.211.28.48.MISMATCH!humbolt.nl.linux.org!news.nl.linux.org!nntpfeed-01.ops.asmr-01.energis-idc.net!newsfeed.multikabel.nl!newsfeed.wxs.nl!transit.news.xs4all.nl!newsfeed.xs4all.nl!xs4all!rhinewceros.xs4all.nl!not-for-mail
Date: Sat, 20 Sep 2003 13:53:46 +0200
From: Ramon Smits <exyll@hotmail.com>
Organization: Subliminal
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5b) Gecko/20030901 Thunderbird/0.2
X-Accept-Language: en-us, en
MIME-Version: 1.0
Newsgroups: nl.comp.programmeren,be.comp.programming
Subject: Re: C# garbage collector
References: <bkecq3$11sg$1@nl-news.euro.net> <1063971705.136647@seven.kulnet.kuleuven.ac.be> <3f6b8a0a$0$197$e4fe514c@dreader3.news.xs4all.nl> <bkh1nn$g66$1@news2.tilbu1.nb.home.nl> <3f6c1dd6$0$135$e4fe514c@dreader4.news.xs4all.nl> <slrnbmo8qj.dt1.marcov@toad.stack.nl>
In-Reply-To: <slrnbmo8qj.dt1.marcov@toad.stack.nl>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 62
Message-ID: <3f6c3fca$0$59340$e4fe514c@dreader8.news.xs4all.nl>
NNTP-Posting-Host: 194.109.160.204
X-Trace: 1064058826 dreader8.news.xs4all.nl 59340 194.109.160.204:5955