Bounds-checking elimination
કોમ્પ્યુટર વિજ્ઞાનમાં, બાઉન્ડ્સ-ચેકિંગ એલિમિનેશન એ કમ્પાઇલર ઓપ્ટિમાઇઝેશન છે જે પ્રોગ્રામિંગ ભાષાઓ અથવા રનટાઇમ સિસ્ટમ્સમાં ઉપયોગી છે જે બાઉન્ડ્સ ચેકિંગને લાગુ કરે છે, અનુક્રમણિકા અનુક્રમણિકાની નિર્ધારિત માન્ય શ્રેણીમાં છે કે કેમ તે ચકાસવા માટે દરેક અનુક્રમણિકાને એરેમાં તપાસવાની પ્રથા છે. તેનો ધ્યેય એ શોધવાનો છે કે આમાંથી કઈ અનુક્રમણિકા કામગીરીને રનટાઇમ પર માન્ય કરવાની જરૂર નથી, અને તે તપાસને દૂર કરે છે. એક સામાન્ય ઉદાહરણ એરે તત્વને ઍક્સેસ કરવું, તેને સંશોધિત કરવું અને તે જ સ્થાન પર સમાન એરેમાં સુધારેલ મૂલ્યને સંગ્રહિત કરવાનું છે. સામાન્ય રીતે, આ ઉદાહરણ એલિમેન્ટને એરેમાંથી વાંચવામાં આવે ત્યારે બાઉન્ડ્સ ચેકમાં પરિણમશે અને જ્યારે તે જ એરે અનુક્રમણિકાનો ઉપયોગ કરીને સુધારેલ એલિમેન્ટ સંગ્રહિત કરવામાં આવે ત્યારે બીજી બાઉન્ડ્સ ચેક થશે. બાઉન્ડ્સ-ચેકિંગ એલિમિનેશન બીજી તપાસને દૂર કરી શકે છે જો કમ્પાઇલર અથવા રનટાઇમ નક્કી કરી શકે કે ન તો એરેનું કદ કે ન તો અનુક્રમણિકા બે એરે કામગીરી વચ્ચે બદલાઈ શકે છે. બીજું ઉદાહરણ ત્યારે થાય છે જ્યારે પ્રોગ્રામર એરેના ઘટકો પર લૂપ કરે છે, અને લૂપની સ્થિતિ બાંયધરી આપે છે કે અનુક્રમણિકા એરેની મર્યાદામાં છે. તે શોધવું મુશ્કેલ હોઈ શકે છે કે પ્રોગ્રામરની મેન્યુઅલ ચેક ઓટોમેટિક ચેકને બિનજરૂરી બનાવે છે. જો કે, આ કિસ્સામાં કમ્પાઇલર અથવા રનટાઇમ માટે યોગ્ય બાઉન્ડ્સ-ચેકિંગ એલિમિનેશન કરવું હજુ પણ શક્ય હોઈ શકે છે. સ્થાનિક રીતે સંકલિત ભાષાઓમાં અમલીકરણ સીમા-તપાસ નાબૂદી માટેની એક તકનીક એ છે કે ટાઇપ કરેલ સ્થિર એક સોંપણી ફોર્મ પ્રતિનિધિત્વનો ઉપયોગ કરવો અને દરેક એરે માટે તે ચોક્કસ એરે માટે સલામત અનુક્રમણિકાનું પ્રતિનિધિત્વ કરતો નવો પ્રકાર બનાવવો. એરે અનુક્રમણિકા તરીકે મૂલ્યનો પ્રથમ ઉપયોગ રનટાઇમ પ્રકાર કાસ્ટ (અને યોગ્ય તપાસ) માં પરિણમે છે, પરંતુ ત્યારબાદ સલામત અનુક્રમણિકા મૂલ્યનો ઉપયોગ શુદ્ધતા અથવા સલામતીનો ત્યાગ કર્યા વિના, પ્રકાર કાસ્ટ વિના કરી શકાય છે. જેઆઈટી-સંકલિત ભાષાઓમાં જાવા અને સી #જેવી જસ્ટ-ઇન-ટાઇમ સંકલિત ભાષાઓ ઘણીવાર એરેને ઍક્સેસ કરતા પહેલા રનટાઇમ પર અનુક્રમણિકાઓ તપાસે છે. હોટસ્પોટ જેવા કેટલાક જસ્ટ-ઇન-ટાઇમ કમ્પાઇલર્સ આમાંના કેટલાક ચેકને દૂર કરવામાં સક્ષમ છે જો તેમને ખબર પડે કે અનુક્રમણિકા હંમેશા યોગ્ય શ્રેણીમાં હોય, અથવા જો અગાઉના ચેકમાં પહેલેથી જ કોઈ અપવાદ હોય. સંદર્ભો બાહ્ય કડીઓ ડબલ્યુ. એમ્મે, જે. વોન રોન, એમ. ફ્રાન્ઝ. હાલની જાવા વર્ચ્યુઅલ મશીન (2002) ની કામગીરીને વધારવા માટે સેફટીએસએ પ્રતિનિધિત્વનો ઉપયોગ કરવો. કોમ્પ્યુટર ભૂલો કમ્પાઇલર ઓપ્ટિમાઇઝેશન