🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #272430

Re: [SGCL] Odśmiecania współbieżnego ciąg dalszy

#272430
From: Sebastian Nibisz
Date: Wed, 27 Feb 2008 11:02
45 lines
3061 bytes
>> 2. Operacje na wskaźnikach są kosztowne (wymaga operacji atomowych).
>
> I tu -- niespodzianka -- nie wymagają. Sam się zdziwiłem, gdy
> wpadłem na pomysł rozwiązania, ale ono było złudnie proste.
> Zaimplementowałem pierwotny pomysł w 2 dni, a potem... przez
> 7 debugowałem, zanim zrozumiałem, że to nie w kodzie jest
> problem i poprawiłem algorytm. Przedstawiłem tu kiedyś szkic
> pomysłu. Ale on jest błędny (choć wtedy jeszcze tego nie
> wiedziałem); ot, super rzecz dla szpiegów przemysłowych
> -- coś, co wygląda na poprawne, ale wybuchnie w rękach... :-)
>
> Dlatego ostatnimi czasy wróciłem do rozwiązań ze zliczaniem
> referencji (intruzywnym), po tuningu są niewiele wolniejsze niż
> zwykły wskaźnik.

Operacje atomowe na liczniku nie sa wymagane tylko w przypadku, gdy ma sie 
pewność, że manipulacja wskaźnikiem odbywa się w jednym wątku aplikacji.

>> 3. Zwalnianie większych struktur, może doprowadzić do przepełnienia ramki 
>> stosu.
>
> To się da rozwiązać, choć nie zawsze jest to konieczne. Naiwna
> implementacja mark&sweep cierpi na dokładnie ten sam problem.

Zawsze można to jakoś rozwiązać. Można się jednak nieźle ździwić, gdy niby 
prawidłowy fragment kodu wysypuje nam aplikację.

>> 4.  Zwalnianie większych struktur, może na dłuższy okres wstrzymać 
>> działanie aplikacji (wymaga operacji atomowych).
>
> Ja deterministyczny punkt destrukcji uznaję za zaletę.

Trudno uznać za zaletę stuację w której aplikacja zatrzymuje się na dwie 
sekundy tylko po to, aby zwolnić zajmowana przez siebie pamięć.

>> Prawde powiedziawszy, na chwilę obecną, nie spotkałem jeszcze takiej 
>> implementacji systemu GC w jakimkolwiek języku czy środowisku.
>
> Pogratulować. :-)

Dzięki, choć niestety rozwiązanie nie jest pozbawione wad.

Pozdrawiam.

- Bastek -
Technical Details
Message-ID: <fq3fvc$at8$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <fppvdq$68v$1@inews.gazeta.pl> <fq0od3$5bm$1@inews.gazeta.pl> <fq0qpa$ekv$1@inews.gazeta.pl> <fq27g3$p6j$1@atlantis.news.tpi.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "Sebastian Nibisz" <EBA_K@poczta.onet.pl>
Newsgroups: pl.comp.lang.c
Subject: Re: [SGCL]
 Odśmiecania współbieżnego ciąg dalszy
Date: Wed, 27 Feb 2008 12:02:00 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 46
Message-ID: <fq3fvc$at8$1@inews.gazeta.pl>
References: <fppvdq$68v$1@inews.gazeta.pl> <fq0od3$5bm$1@inews.gazeta.pl> <fq0qpa$ekv$1@inews.gazeta.pl> <fq27g3$p6j$1@atlantis.news.tpi.pl>
NNTP-Posting-Host: s178pc190.mmj.pl
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1204110124 11176 85.219.178.190 (27 Feb 2008 11:02:04 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Wed, 27 Feb 2008 11:02:04 +0000 (UTC)
In-Reply-To: <fq27g3$p6j$1@atlantis.news.tpi.pl>
X-Antivirus-Status: Clean
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6000.16545
X-Priority: 3
X-Newsreader: Microsoft Windows Mail 6.0.6000.16480
X-User: eba_k
X-Antivirus: avast! (VPS 080226-1, 2008-02-26), Outbound message
X-MSMail-Priority: Normal
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit