🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#272429
From: Piotr Wyderski
Date: Tue, 26 Feb 2008 23:30
43 lines
2785 bytes
Sebastian Nibisz wrote:

> Shared poiner jest niestety wielce niedoskonałym sposobem odśmiecania, 
> gdyż działa w oparciu o mechanizm zliczania referencji i ma cztery 
> podstawowe wady:
>
> 1. Nie zwalnia struktur cyklicznych.

Niezaprzeczalnie.

> 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.

> 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.

> 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ę.

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

Pogratulować. :-)

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

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: "Piotr Wyderski" <piotr.wyderski@wp.pl>
Newsgroups: pl.comp.lang.c
Subject: Re: [SGCL]
 Odśmiecania współbieżnego ciąg dalszy
Date: Wed, 27 Feb 2008 00:30:00 +0100
Organization: tp.internet - http://www.tpi.pl/
Lines: 44
Message-ID: <fq27g3$p6j$1@atlantis.news.tpi.pl>
References: <fppvdq$68v$1@inews.gazeta.pl> <fq0od3$5bm$1@inews.gazeta.pl> <fq0qpa$ekv$1@inews.gazeta.pl>
NNTP-Posting-Host: aaje127.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: atlantis.news.tpi.pl 1204068675 25811 83.4.238.127 (26 Feb 2008 23:31:15 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Tue, 26 Feb 2008 23:31:15 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
X-Antivirus: avast! (VPS 080226-1, 2008-02-26), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit