Article View: pl.comp.lang.funkcyjne
Article #144Re: Pewien problem z odsmiecaniem.
From: Mariusz K. Grzeca
Date: Thu, 12 Dec 2002 12:53
Date: Thu, 12 Dec 2002 12:53
33 lines
2894 bytes
2894 bytes
Lucifer wrote:
> Zastanawia mnie czy jest mozliwe cos takiego:
>
> odsmiecanie bez zadnego zliczania odniesien, popsrostu kompilator
> 'zgaduje', w ktorym miejscu programu nalezy zwolnic pamiec, albo
> wrzucic go do kolejki i wywalic po czasie kilka na raz.
Jeśli chodzi o automatyczne zarządzanie pamięcią, ale całkowicie
pozbawione ciężkich mechanizmów czasu wykonania programu, takich jak
liczniki referencji, czy odśmiecacze śledzące dowiązania (tracing
garbage collectors), to w ogólnym przypadku, dla dowolnego języka,
zapewniające brak wycieków pamięci - nie, nie jest znane takie rozwiązanie.
Niestety bardzo długo języki wysokopoziomowe (czyli te, które m.in.
zwalniają programistę z konieczności "ręcznego" zwalniania pamięci) nie
wzbudzały żadnego zainteresowania przemysłu. Być może dlatego (albo
dlatego że to trudny problem) na temat automatycznej gospodarki pamięcią
(w ogole) powiedziano stosunkowo niewiele. Pojedynczy człowiek jest w
stanie w ciągu kilkudziesięciu długich wieczorów przeczytać i zrozumieć
wszystkie publikacje poruszające ten temat. Tych wnoszących do tematu
coś rzeczywiście istotnego jest może ze dwadzieścia... O odśmiecaniu
czasu kompilacji (compile-time gargabe collection) wiadomo bardzo niewiele.
Było trochę na ten temat (CTGC) w związku z badaniami nad wydajnością
Javy. Możesz się czuć dumny bo w zasadzie doszedłeś do tego jak to może
być zrealizowane :) - za pomocą prostej, syntaktycznej analizy kodu
programu. Było trochę przy okazji zastosowań różnych form analizy
przepływu danych i sterowania - jest np. jeden papier na temat analizy
reprezentacji danych w kompilatorze Bigloo ("Storage Usage Analysis and
its Applications" Manuel Serrano, Mark Feeley). Było też trochę na temat
zastosowania systemu typów i mechanizmów rekonstrukcji typów do tego
celu w związku z kompilatorem MLKit (link podał Tomek).
Technical Details
Message-ID:
<ata2jf$74g$2@news.tpi.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.man.poznan.pl!newsfeed.tpinternet.pl!news.tpi.pl!not-for-mailReferences:
<at84vp$n9r$1@news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.man.poznan.pl!newsfeed.tpinternet.pl!news.tpi.pl!not-for-mail From: "Mariusz K. Grzeca" <mgrzeca@sokrates.mimuw.edu.pl> Newsgroups: pl.comp.lang.funkcyjne Subject: Re: Pewien problem z odsmiecaniem. Date: Thu, 12 Dec 2002 13:53:31 +0100 Organization: tp.internet - http://www.tpi.pl/ Lines: 34 Message-ID: <ata2jf$74g$2@news.tpi.pl> References: <at84vp$n9r$1@news.tpi.pl> NNTP-Posting-Host: pp38.warszawa.cvx.ppp.tpnet.pl Mime-Version: 1.0 X-Trace: news.tpi.pl 1039699376 7312 213.76.111.38 (12 Dec 2002 13:22:56 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Thu, 12 Dec 2002 13:22:56 +0000 (UTC) In-Reply-To: <at84vp$n9r$1@news.tpi.pl> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.2b) Gecko/20021016 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit