eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingLLVM a Garbage Collector › Re: LLVM a Garbage Collector
  • 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/

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: