Article View: pl.comp.objects
Article #14712Re: pule obiektów
From: Jarek Ratajski
Date: Thu, 25 May 2006 14:04
Date: Thu, 25 May 2006 14:04
49 lines
3137 bytes
3137 bytes
Sektor van Skijlen wrote: > > Innymi słowy, odnoszę wrażenie że autorzy przyjmują milcząco, że tak sprawne > zarządzanie pamięcią, jakie oferuje nam odśmiecanie jest możliwe tylko wtedy, > gdy stosujemy "odśmiecany" model zarządzania obiektami, czyli inaczej mówiąc, > gdy polegamy na niejawnym usuwaniu zgubionych obiektów w przypadku wszystkich > istniejących obiektów w całym systemie. Przekonanie to jest moim zdaniem > całkowicie błędne. > > Po pierwsze, zupełnie nie rozumiem, dlaczego takie znów niemożliwe byłoby > przyjęcie takiej strategii, że środowisko jest takie jakie, jak odśmiecane, > tylko że nie dokonuje się automatyczne trackowanie obiektów, a jest ono > uruchamiane dopiero w momencie zrobienia jawnego 'delete'. I to też > niekoniecznie za każdym, tylko z odpowiednią amortyzacją. Włączając w to > również możliwość przesuwania obiektów. Można tak by zrobić. Zostaje tylko pytanie po co. Po to żeby nie odśmiecały się obiekty jak ktoś zapomni o delete ? I wtedy lepiej będzie pisać: new Object().delete(); //żeby środowisko trackowało :-) > Po drugie, najefektywniejszym sposobem zarządzania pamięcią obiektów, > szczególnie dużą ilością małych obiektów o krótkim czasie życia, pozostaje > alokator specjalizowany (pula przeznaczona dla obiektów tylko jednego typu). Najefektywniejszym w jakim sensie ? Np. w sesnie zużycia CPU to prawdopodobnie najefektywniejszym jest dokupienie kilku terabajtów pamięci i wyłaczenie gc :-) > To jest też prawda, że odśmiecacz zapobiega wyciekom pamięci nie > i zmniejsza > niebezpieczeństwo istnienia wiszących wskaźników, tak > ale związku z efektywnością > przydzielania pamięci nie ma to za grosz. ? > Można by zadać pytanie, dlaczego w takim razie w C++ wciąż stosuje się > "malloc-based" przydzielanie pamięci (taka jest niestety praktyka, nie tylko w > gcc). Nie wiem. Może ktoś z grupowiczów mógłby przedstawić jakieś potencjalne > problemy z zaimplementowaniem takiej metody, jak opisana w p1? bo to by już nie było C++ tylko Java-- ? -- jarekr
Technical Details
Message-ID:
<e54dbo$6k$1@news2.ipartners.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.ipartners.pl!ipartners.pl!not-for-mailReferences:
<e524va$uk4$1@news.onet.pl> <0dc97213pniht75f98ui5ikrca3m5i1rc4@4ax.com> <e5405a$kf3$1@kujawiak.man.lodz.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.ipartners.pl!ipartners.pl!not-for-mail From: Jarek Ratajski <ja_chyba_ratajski@bez_sensu.onet.pl> Newsgroups: pl.comp.objects Subject: Re: pule obiektów Date: Thu, 25 May 2006 16:04:32 +0200 Organization: Internet Partners Lines: 49 Message-ID: <e54dbo$6k$1@news2.ipartners.pl> References: <e524va$uk4$1@news.onet.pl> <0dc97213pniht75f98ui5ikrca3m5i1rc4@4ax.com> <e5405a$kf3$1@kujawiak.man.lodz.pl> NNTP-Posting-Host: nat.mareon.com.pl Mime-Version: 1.0 X-Trace: news2.ipartners.pl 1148565688 212 217.153.64.166 (25 May 2006 14:01:28 GMT) X-Complaints-To: abuse@ipartners.pl NNTP-Posting-Date: 25 May 2006 14:01:28 GMT In-Reply-To: <e5405a$kf3$1@kujawiak.man.lodz.pl> X-Accept-Language: en-us, en User-Agent: Mozilla Thunderbird 1.0.2-6 (X11/20050513) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit