Article View: pl.comp.lang.c
Article #272430Re: [SGCL] Odśmiecania współbieżnego ciąg dalszy
From: Sebastian Nibisz
Date: Wed, 27 Feb 2008 11:02
Date: Wed, 27 Feb 2008 11:02
45 lines
3061 bytes
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-mailReferences:
<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