C és C++ nyelvekben tényleg lassabb ha char vagy short int típusokban tárolunk számokat, mintha intben tárolnánk?
forrás:
https://www.youtube.com/watch?v=IJaa58cfvOw
Mikor éri meg char vagy short intben számokat tárolni?
"Mikor éri meg char vagy short intben számokat tárolni?"
Pl akkor, ha csak 128 byte, vagy néhány kByte memória áll rendelkezésre.
Optimalizálástól is függ. Ha szóhatárra vannak igazítva az adatok, akkor nem fogsz sebességkülönbséget tapasztalni. Máskülönben könnyen előfordulhat.
"Mikor éri meg char vagy short intben számokat tárolni?"
- Ha szűkös a munkamemória. Egy mikrovezérlőnél, aminek 1-2 kB memóriája van, hatalmas pazarlás a szükséges adatterület négyszeresét felhasználni.
- Ha később szeretnéd kihasználni az egybájtos adattípus jellemzőit. Mondjuk ha olyan algoritmussal dolgozok, amiben szándékosan kihasználom a túlcsordulást. Char-nál 255+1=0. Int-nél 256. Vagy például a char kitűnően alkalmas gyors ascii-kód <-> karakter konverziókra.
"Ha szóhatárra vannak igazítva az adatok, akkor nem fogsz sebességkülönbséget tapasztalni. "
Ebben az egyben tévedsz.
A gépi szónál kisebb/nagyobb adatokkal való munka lényegesen lassabb. Akkor is így van ez, ha egyébként szóhatárra vannak igazítva.
"Mikor éri meg char vagy short intben számokat tárolni?"
..Vagy például ha nagy elemszámú tömb elemtípusa, vagy ha olyan paraméter vagy lokális változó, ahol már számolni kell a stack esetleges túlcsordulásával, pl. rekurzió esetén, vagy simán csak valamiért kímélni akarod a stack-et.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!