Precomputation
અલ્ગોરિધમ્સમાં, પ્રીકોમ્પ્યુટેશન એ લુકઅપ ટેબલ બનાવવા માટે રન ટાઇમ પહેલાં પ્રારંભિક ગણતરી કરવાની ક્રિયા છે જેનો ઉપયોગ અલ્ગોરિધમ દ્વારા દરેક વખતે તેને ચલાવવામાં આવે ત્યારે પુનરાવર્તિત ગણતરીને ટાળવા માટે કરી શકાય છે. પ્રીકોમ્પ્યુટેશનનો ઉપયોગ ઘણીવાર એલ્ગોરિધમ્સમાં થાય છે જે ખર્ચાળ ગણતરીઓના પરિણામો પર આધાર રાખે છે જે એલ્ગોરિધમના ઇનપુટ પર આધાર રાખતા નથી. પ્રીકમ્પ્યુટેશનનું એક તુચ્છ ઉદાહરણ એ છે કે હાર્ડકોડેડ ગાણિતિક સ્થિરાંકોનો ઉપયોગ, જેમ કે π અને e, રન ટાઇમ પર જરૂરી ચોકસાઇ સાથે તેમના અંદાજોની ગણતરી કરવાને બદલે. ડેટાબેઝમાં, ભૌતિકીકરણ શબ્દનો ઉપયોગ પૂર્વ-ગણતરીના પરિણામોને સંગ્રહિત કરવા માટે થાય છે, જેમ કે ભૌતિક દૃશ્યમાં. ઝાંખી અલ્ગોરિધમનો અમલની શરૂઆતમાં મધ્યવર્તી પરિણામોના સમૂહની પૂર્વગણતરી ઘણીવાર અલ્ગોરિધમની કાર્યક્ષમતામાં નોંધપાત્ર વધારો કરી શકે છે. આ ત્યારે ફાયદાકારક બને છે જ્યારે એક અથવા વધુ ઇનપુટ્સને પૂરતી નાની શ્રેણી સુધી મર્યાદિત કરવામાં આવે છે જેથી પરિણામો મેમરીના વ્યાજબી કદના બ્લોકમાં સંગ્રહિત કરી શકાય. કારણ કે સમયની જટિલતામાં મેમરીની પહોંચ અનિવાર્યપણે સતત હોય છે (કેશીંગ વિલંબ સિવાય), નાના ઇનપુટ શ્રેણી પર સતત કાર્યક્ષમતા કરતાં વધુ ખરાબ હોય તેવા ઘટક સાથેના કોઈપણ અલ્ગોરિધમને પ્રી-કમ્પ્યુટિંગ મૂલ્યો દ્વારા સુધારી શકાય છે. કેટલાક કિસ્સાઓમાં કાર્યક્ષમ અંદાજ અલ્ગોરિધમ્સ મૂલ્યોના અલગ સબસેટની ગણતરી કરીને અને મધ્યવર્તી ઇનપુટ મૂલ્યો માટે ઇન્ટરપોલેટ કરીને મેળવી શકાય છે, કારણ કે ઇન્ટરપોલેશન પણ એક રેખીય કામગીરી છે. કમ્પ્યુટર્સના આગમન પહેલાં, લોકો દ્વારા મૂલ્યોના મુદ્રિત લુકઅપ કોષ્ટકોનો ઉપયોગ જટિલ કાર્યોની હાથની ગણતરીઓને ઝડપી બનાવવા માટે કરવામાં આવતો હતો, જેમ કે ત્રિકોણમિતીય કોષ્ટકો, લઘુગણક કોષ્ટકો અને આંકડાકીય ઘનતા કાર્યોના કોષ્ટકો. શાળાના બાળકોને ઘણીવાર સૌથી વધુ ઉપયોગમાં લેવાતી સંખ્યાઓ (9 x 9 અથવા 12 x 12) ની ગણતરી ટાળવા માટે "સમય કોષ્ટકો" યાદ રાખવાનું શીખવવામાં આવે છે. 493 એ. ડી. ની શરૂઆતમાં જ, એક્વિટેઈનના વિક્ટોરિયસે 98-સ્તંભ ગુણાકાર કોષ્ટક લખ્યું હતું, જેમાં (રોમન અંકોમાં) દરેક સંખ્યાનો ગુણાકાર 2 થી 50 વખત આપવામાં આવ્યો હતો અને પંક્તિઓ "એક હજારથી શરૂ થતી સંખ્યાઓની યાદી હતી, જે સેંકડોથી ઘટીને એકસો થઈ ગઈ હતી, પછી દસથી ઘટીને એક થઈ ગઈ હતી, અને પછી અપૂર્ણાંકો 1/144 સુધી નીચે આવી ગયા હતા" ઉદાહરણો ડિજિટલ ત્રિકોણમિતિ કાર્યોના આધુનિક કમ્પ્યુટર અમલીકરણ પણ ઘણીવાર પૂર્વ-ગણતરી કરેલ શોધ કોષ્ટકોનો ઉપયોગ કરે છે જે ક્યાં તો પ્રક્ષેપણ અલ્ગોરિધમ્સ માટે ગુણાંક પ્રદાન કરે છે અથવા ક્રમિક અંદાજિત અલ્ગોરિધમ્સ શરૂ કરે છે. ક્રિપ્ટોસિસ્ટમ્સ પરના ઘણા હુમલાઓમાં પ્રીકોમ્પ્યુટેશનનો સમાવેશ થાય છે. આધુનિક કાર્યક્ષમ અલ્ગોરિધમ્સના ભાગ રૂપે મોટા પાયે પ્રી-કોમ્પ્યુટેશનના ઉદાહરણોમાં નીચેનાનો સમાવેશ થાય છેઃ રેઈન્બો કોષ્ટકો પરફેક્ટ હેશ ક્યુબ એટેક 3ડી ગ્રાફિક્સમાં દૃશ્યતા ગણતરીઓ માટે પ્રી-કેલ્ક્યુલેટેડ બી. એસ. પી. વૃક્ષો 3ડી ગ્રાફિક્સમાં પ્રકાશ માટે રેડીયોસિટી પ્રી-કમ્પ્યુટેશન કમ્પાઇલર્સ પરિણામી કોડની રન-ટાઇમ ઝડપ વધારવાના સાધન તરીકે વ્યાપક રીતે પ્રી-કમ્પ્યુટેશનનો ઉપયોગ કરે છેઃ આ પ્રી-કમ્પ્યુટેશનને અસરકારક રીતે પ્રોગ્રામ કોડના આંશિક મૂલ્યાંકનના સ્વરૂપ તરીકે ગણી શકાય. આ પ્રકારના પૂર્વગણતરીના ઉદાહરણોમાં ડેટા ફ્લો વિશ્લેષણ અને શક્તિ ઘટાડવાના પગલાંનો સમાવેશ થાય છે. ગાણિતિક કોષ્ટક એલ્ગોરિધમિક કાર્યક્ષમતા આંશિક મૂલ્યાંકન યાદગીરી સંદર્ભો સોફ્ટવેર ઓપ્ટિમાઇઝેશન પણ જુઓ.