[so] vect vs struct

Alexandru Moșoi brtzsnr at gmail.com
Fri Jun 12 21:05:16 EEST 2009


Pe 12 iunie 2009, 20:38, Alin Popescu<alinpopescu at live.com> a scris:
> Salut!
>
> Am o intrebare legata care nu este legata direct de so, dar care m-a facut
> sa-mi pun unele probleme.
> M-ar interesa ce este mai avantajos din punct de vedere al vitezei:
>
> typedef int color[3];
>
> sau
>
> typedef struct
> {
>        int r;
>        int g;
>        int b;
> } color;
>
> Si ma refer aici alocare statica, alocare de memorie cu new/malloc,
> free/delete, timp de acces la memorie, etc.
>
> Multumesc anticipat pentru raspuns.


nu cred. cel mult, unele compilatoare aleg sa faca structul de 16
octeti (presupunand ca intul are 4) pentru a intra mai bine in cache.
altfel, adresele relative a celor 3 membri (si la struct si la array)
sunt aceleasi iar compilatorul stie sa le optimizeze.

intrebarea ta tine mai mult de compilatoare asa ca-ti sugerez sa
urmezi la C3 (sau cel putin CPL) ca sa inveti mai multe despre acest
subiect. nici nu stii cate microoptimizari inutile (ca cea de mai sus)
am facut pana am urmat CPL-ul. compilatoarele (cel putin gcc si cl)
sunt destul de inteligente cand vine vorba de constante :).


-- 
Alexandru Moșoi
http://alexandru.mosoi.googlepages.com

Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html


More information about the so mailing list