🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.funkcyjne
Article #144

Re: Pewien problem z odsmiecaniem.

#144
From: Mariusz K. Grzeca
Date: Thu, 12 Dec 2002 12:53
33 lines
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-mail
References: <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