C++ में विभिन्न प्रकार के पूर्णांक क्यों हैं? कोई भी छोटे पूर्णांक का उपयोग क्यों करेगा, और क्यों न केवल 100% लंबे पूर्णांक का उपयोग करें?
Answers
छोटे integers कम जगह लेते है।
भले ही आपके पास gigabytes की RAM हो, आज किसी high end machine पर आपका L1 cache 32k से 64K तक ही होगा।
Integers जितने छोटे होंगे उतने ही cache में fit होंगे।जितने cache में fit होंगे उतना ही कम समय cache miss होने पर spend करेंगे। जितना कम data आप move करते है उतना चिप पर डेटा को चालू / बंद करने की कोशिश करने में (या PCIe, या network या disk में भेजे जाने में) कम समय बिताते हैं।
इसके अलावा कुछ vector instruction sets single instruction में double या quadruple कार्य की मात्रा perform कर सकते है यदि आपका input standard integer का half या चोथाई है। यह सीधे तोर पर तेज़ speed है।
इसी कारण modern GPUs half precision floats offer करते है।
ओर यही एक modern desktop पर होता है।
एक embedded system के अंदर, आपकी सम्पूर्ण memory शायद काफ़ी विवश होगी। आपको शायद पता लगे आप bits count कर रहे है, bytes की बजाय। छोटे integers वंहा भी मिल जाते है।
hope this answer helpful