-
Data: 2012-05-21 16:00:07
Temat: Re: LLVM a Garbage Collector
Od: " " <f...@g...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- 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
Najnowsze wątki
- 2025-01-04 Katowice => Key Account Manager (ERP) <=
- 2025-01-03 Problem z odczytem karty CF
- 2025-01-03 Jazda z Warszawy do Krakowa teslą
- 2025-01-03 Wrocław => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-01-03 Warszawa => International Freight Forwarder <=
- 2025-01-03 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-03 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-03 Beztłumikowcy
- 2025-01-03 Lublin => Delphi Programmer <=
- 2025-01-03 Lublin => Programista Delphi <=
- 2025-01-03 [OT] nowe osoby w grupach?
- 2025-01-03 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-03 Warszawa => Developer .NET (mid) <=
- 2025-01-03 Katowice => Administrator IT - Systemy Operacyjne i Wirtualizacja <=
- 2025-01-03 Warszawa => DevOps Engineer <=