Salut

Lucrez la un program de monitorizare care sa fie cat de cat real-time.
Astfel , normal, sunt foarte atent la complexitatea programului, a
operatiilor, functiilor.

De exemplu sa zicem ca am nevoie sa gasesc dintr-o multime de elemente un
element cu o anumita proprietate, ca sa reduc complexitatea voi avea liste
dinamice cu elementele de care au acea proprietate (de genul cum au
fs-urile listele cu blocuri libere cand isi pun problema de a gasi un bloc
liber).

Dar (din discutiile cu un coleg) inteleg ca e posibil sa ma insel asupra
calculului complexitatii datorita unor posibile operatii interne glibc sau
chiar kernel.

De exemplu utilizand o lista inlatuita, mentinuta dinamic, cu pointeri
catre elementele cu proprietatea care ma intereseaza (pt a gasi rapid un
element cu acea proprietate) s-ar putea sa nu fie programul de
complexitate O(1) (referindu-ma doar la aspectul de mai sus), pentru ca
utilizand malloc/free e posibil ca una din aceste instructiuni sa
determine un "garbage collection" sau o reordonare interna a structurilor
de alocare memorie dinamica ale glibc-ului (presupunand ca alocatorul
dinamic al glibc-ului din cand in cand reordoneaza anumite treburi ca sa
mentina o fragmentare minima) si daca se intampla acest lucru ajung sa am
un program de cel putin O(n) (unde n ar fi o aproximare a blocurilor
alocate cu malloc), sau ma insel ?

PS: Din cate am citit scheduler-ul O(1) al lui Ingo foloseste o schema
asemanatoare, adica foloseste un set de liste cu informatiile unde el ar
fi avut nevoie de cautari O(n), dar nu stiu daca implementarea acelor
liste este facuta cu un alocator dinamic sau ceva optimizat care ar folosi
un spatiu continuu...

Thanks

----------------------------
Mihai RUSU

Disclaimer: Any views or opinions presented within this e-mail are solely
those of the author and do not necessarily represent those of any company,
unless otherwise specifically stated.

---
Pentru dezabonare, trimiteti mail la 
[EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/


Raspunde prin e-mail lui