Article View: pl.comp.lang.c
Article #272429Re: [SGCL] Odśmiecania współbieżnego ciąg dalszy
From: Piotr Wyderski
Date: Tue, 26 Feb 2008 23:30
Date: Tue, 26 Feb 2008 23:30
43 lines
2785 bytes
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-mailReferences:
<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