Nedá sa jednoznačne povedať, čo je efektívnejšie, keďže každý kompilátor môže generovať iný strojový kód. Všeobecne by malo platiť, že ak chceme číselné hodnoty uložiť napr. do veľkého poľa, pamäťová efektivita je podstatná a mali by sme použiť čo najmenší vhodný typ, napr. char (resp. unsigned char). Pokiaľ máme malé množstvo premenných (typicky jednu) a prevádzame s nimi množstvo aritmetických operácií, mali by sme použiť takú veľkosť premennej, s ktorou procesor natívne pracuje - na x86 je to 32 bitov (int, resp. unsigned int).
V prípade návratovej hodnoty by som odporúčal použiť int, ale v podstate je to jedno, keďže číslené hodnoty sa vracajú v registri EAX bez ohľadu na ich veľkosť.