-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: " " <f...@g...pl>
Newsgroups: pl.comp.programming
Subject: Re: LLVM a Garbage Collector
Date: Mon, 21 May 2012 14:00:07 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 82
Message-ID: <jpdhp7$gvo$1@inews.gazeta.pl>
References: <jpaldh$stb$1@inews.gazeta.pl> <jpb1rm$qe0$1@inews.gazeta.pl>
<jpcl7j$3fi$1@inews.gazeta.pl>
<3...@g...com>
<jpddpv$5ff$1@inews.gazeta.pl>
<3...@g...com>
NNTP-Posting-Host: localhost
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1337608807 17400 172.20.26.235 (21 May 2012 14:00:07 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Mon, 21 May 2012 14:00:07 +0000 (UTC)
X-User: fir
X-Forwarded-For: 31.61.131.255
X-Remote-IP: localhost
Xref: news-archive.icm.edu.pl pl.comp.programming:197391
[ ukryj nagłówki ]Roman W <b...@g...pl> napisał(a):
> On Monday, May 21, 2012 1:52:15 PM UTC+1, weary.fighter.of.grunge wrote:
> > >=20
> > > Cecha charakterystyczna programow napisanych w C czy C++ bez GC jest fa=
> naty=3D
> > > czne unikanie (re)alokacji pamieci, bo to kosztuje, kosztem czytelnosci=
> pro=3D
> > > gramu. Kiedy sie uzywa GC, te operacje staja sie tansze, i nie trzeba s=
> ie t=3D
> > > ak meczyc.
> > >=20
> >=20
> > W jaki sposob meczyc? Pytam bo jak zyje i pisze w c nie znam=20
> > takiego przypadku. Moze ktos podac jakis taki przypadek=20
> > o jakim mowa, rozwazylbym to. Ciekawe czy to nie da sie zrobic=20
> > normalnie np na stosie.
>
> Typowy usage pattern w C++ to prealokacja pamieci roboczej, a nastepnie prz=
> ekazywanie odnosnika do niej (w jakiejs formie: wskaznika, referencji, spry=
> tnego wskaznika, itd.) do niej, albo do "workspace" jej zawierajacej, z pro=
> cedury do procedury, nawet jezeli jej zawartosc jest nadpisywana. W Javie m=
> ozna po prostu zadeklarowac sobie tablice dokladnie tam gdzie jest ona potr=
> zebna, i tez jest dobrze.
>
> C++ z kolei umozliwia tworzenie obiektow na stosie, co jest jeszcze szybsze=
> ..
no to jesli o to chodzi to mozna zrobic na stosie
void test()
{
auto ListaItemow[] = PodajInventoryPostaciNr(15);
loguj( ListaItemow[] );
}
tak ze tutaj nie tylko gc ale i heap nie jest
potrzebny (slowo auto dodalem dla podkreslenia ze to na stosie)
co prawda obecne stare c tego nie wspiera (*) i to wymaga
manipulowania wskaznikiem stosu, ale (o ile sie nie
myle bo nie myslem o tym za duzo) mozna to zrobic
w ramach statego systemu stos+globale-malloc ze tak powiem
(*) nawet w obecnym c mozna to zrobic z tego co sie orientuje
void test()
{
conts int lista_ilemow_max = 10000;
auto ListaItemow[lista_ilemow_max];
PodajInventoryPostaciNr(15, ListaItemow);
loguj( ListaItemow );
}
kosztem zaalokowanie na stosie nie dokladnie tyle ile trzeba
tylko maksymalnej dopuszczalnej wartosci (ktos wie czy to by
ruszylo? moze bym tego uzywal bo lubie takie ciekawe wynalazki)
moze jakis inny przypadek (gdzie moznaby sie niemaczyc
uzywajac czegos w rodzaju gc lub recznej dealokacji) ?
(niby mozna sobie cos takiego wyobrazic np gre ktora
zawiera w sobie dwie rozne gry i przelacza sie miedzy jedna a
druga dealokujac ram nieuzywanej - ale w praktyce nie natrafilem
jeszcze na takie cos, i tak nie wiem czy nie daloby sie
kombinowac ze stosem w tym nawet wypadku a jak nie to i
tak chyba realokowanie tablic do 0 (ale nie zamazywanie
wskaznikow) byloby chyba lepsze niz 'calkowite odpinanie'
(acz nie mam jasnosci w tych sprawach )
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 21.05.12 16:05 weary fighter of grunge
- 21.05.12 16:23 Maciej Sobczak
- 21.05.12 16:47 Roman W
- 21.05.12 17:08 Borneq
- 21.05.12 17:30 przegrany człowiek fir *
- 21.05.12 17:58 weary fighter of grunge fir
- 21.05.12 22:41 prof fir
- 21.05.12 23:10 Edek Pienkowski
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-07-18 Plaj blokuje usuwanie swoich kontaktów. A to SZMATY
- 2024-07-19 Re: Zgody...
- 2024-07-19 Octavia 2011r vs Audi A3 2007r
- 2024-07-18 ANNA BRYŁKA - RZĄD MANIPULUJE INFORMACJAMI O PODATKACH OD AUT SPALINOWYCH
- 2024-07-19 Co z Fideltronikiem?
- 2024-07-18 Zamiana aku żelowych w UPS na LiFePo4
- 2024-07-19 Warszawa => Head of International Freight Forwarding Department <=
- 2024-07-19 Kraków => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-07-19 Gdańsk => Technical Lead ( (Java Background)) <=
- 2024-07-19 Warszawa => Senior Rust Software Engineer <=
- 2024-07-19 Poznań => UX/UI Designer <=
- 2024-07-19 Łódź => Senior PHP Developer <=
- 2024-07-19 Ryga => Junior NOC Engineer <=
- 2024-07-19 Ulm => Technischer Rollouter (d/m/w) <=
- 2024-07-19 Warszawa => International freight forwarder <=