[ TvrdiMijo @ 05.10.2004. 23:28 ] @
dakle?
[ sasas @ 06.10.2004. 07:56 ] @
stek:

memorija za podatke koju program zauzima prilikom startovanja (kolicina je odredjena prilikom kompajliranja). svaka deklaracija, tipa:
var i, j, k: integer;
smesta promenjive na stek, i automatski oslobadja memoriju kad varijable vise nisu potrebne (npr. kad izadjes iz neke funckije, sva memorija za varijable deklarisane u njoj se oslobadja).

heap:
dinamicka memorija. ima je koliko imas rama/swapa na racunaru, dakle mnogo. moras je sam traziti od sistema (new, getmem...) i moras se sam brinuti da se memorija oslobodi (dispose, freemem). dakle, nista automatika.

toliko za pocetak

lp, ss.
[ TvrdiMijo @ 06.10.2004. 23:56 ] @
aaaaaaaa...

a kako bi ja otprilike mogao odrediti kolko jedan pascal program uzima memorije,odnosno koliko neki tip varijabli zauzima memorije.
[ Milos Stojanovic @ 07.10.2004. 01:55 ] @
SizeOf funkcija za tip promenljive.
Za ceo program, suma SizeOf-ova svih promenljivih.
[ sasas @ 07.10.2004. 07:44 ] @
Ne moze se lako odrediti kolicina memorije koju program zauzima (bar ne precizno), jer to zavisi i od memory managera na masini gde se program izvrsava. Kad trazis 13 bajta RAMa sa heapa, nikad ne mozes znati koliko si RAMa u stvari zauzeo, ali mozes biti siguran da je bar 13 bajta.

Takodje, forme, kontrole i ostalo zauzimaju za programera nepoznatu kolicinu memorije, ako ih koristis.

Za sumu sizeof() moras uzeti u obzir da sabiras samo dinamicke promenjive, jer je velicina steka unapred odredjena.

Btw, za sta ce ti to?

lp, ss.
[ Rapaic Rajko @ 08.10.2004. 10:15 ] @
Pogledaj Delphi funkciju GetHeapStatus().

Rajko
[ TvrdiMijo @ 09.10.2004. 01:10 ] @
Citat:
jer je velicina steka unapred odredjena.


kako?ne zanima me heap,već stek memorija,npr kad definiram
a:array[1..1000000]of string,koliko on zauzima prostora(skužio sam da je već unaprijed poznato,ali kako?)
Citat:
Btw, za sta ce ti to?


za natjecanje,jer je najčešće stek ograničen na 1,a heap na 16 Mb,tako da mogu provjerit memorijsku složenost algoritma.

kad smo već kod složenosti algoritma,iz istog razloga me zanima i određivanje vremenske složenosti,to mi je čak i bitnije od memorijske.pa ako može neki savjet.

hvala
[ bancika @ 09.10.2004. 01:52 ] @
po tim takmicenjima se mahom vrte zadaci gde se koriste neki standardni algoritmi za koje je poznata vremenska slozenost. recimo za quick sort je O(n * log2(n)), ako stavis dve for petlje onda je O(n^2) i slicno. ako radis permutacije O(n!)...znaci otprilike koliko se iteracija izvrsi za zadate ulazne podatke..

a o kom se takmicenju radi??
[ TvrdiMijo @ 09.10.2004. 02:07 ] @
radi se o županijskom i državnom natjecanju,i bož' pomozi,hrvatskoj olimpijadi.Nije baš da se vrte standardni algoritmi,mada ima i toga.ja sam mislio na konkretno,koliko neka operacija zahtjeva vremena,i kako na osnovu procesorske snage ispitat jel algoritam dovoljno brz(na žup.2004 je bilo 5s na 2,8Ghz(i nije takva frka)ali je na državnom bila sekunda na duplo sporijem CPU)

poz