स्थानिक और लौकिक इलाके दो अलग-अलग विशेषताओं का वर्णन करते हैं कि प्रोग्राम डेटा (या निर्देश) तक कैसे पहुंचते हैं। विकिपीडिया का locality of reference पर एक अच्छा लेख है।
संदर्भों का एक अनुक्रम spatial
इलाके में कहा जाता है यदि समय में संदर्भित चीजें अंतरिक्ष में नज़दीक हैं (पास के मेमोरी पते, डिस्क पर आस-पास के क्षेत्र इत्यादि)। कहा जाता है कि एक अनुक्रम में temporal
स्थानीयता है यदि एक ही चीज़ तक पहुंच समय पर क्लस्टर हो।
यदि कोई प्रोग्राम एक बड़े सरणी में प्रत्येक तत्व को एक्सेस करता है और इसे एक बार पढ़ता है और फिर अगले तत्व पर जाता है और किसी भी स्थान पर पहुंच को तब तक दोहराता नहीं है जब तक कि यह हर दूसरे स्थान को छुआ न हो तो यह एक स्पष्ट मामला है स्थानिक इलाके लेकिन अस्थायी इलाके नहीं। दूसरी तरफ, यदि कोई प्रोग्राम समय-समय पर किसी अन्य यादृच्छिक सबसेट पर जाने से पहले सरणी पर स्थानों के यादृच्छिक सबसेट तक पहुंचने में व्यतीत करता है तो कहा जाता है कि अस्थायी इलाके है लेकिन स्थानिक इलाके नहीं है। एक अच्छी तरह से लिखित कार्यक्रम में डेटा संरचनाएं होंगी जो एक साथ पहुंचने वाली चीजों को एक साथ समूहित करती हैं, इस प्रकार स्थानिक इलाके को सुनिश्चित करते हैं। यदि आप इस कार्यक्रम उसके द्वारा पहुंच के बाद एक तो दोनों एक और बी एक दूसरे के निकट आवंटित किया जाना चाहिए जल्द ही बी का उपयोग करने की संभावना है।
आपका पहला उदाहरण
A[0][1], A[0][2], A[0][3]
से पता चलता स्थानिक इलाके, चीजें हैं जो समय में करीब पहुंचा जा सकता है अंतरिक्ष में करीब हैं। यह अस्थायी इलाके नहीं दिखाता है क्योंकि आपने एक ही चीज़ को एक से अधिक बार एक्सेस नहीं किया है।
आपका दूसरे उदाहरण
A[1], A[2], A[3]
भी स्थानिक इलाके से पता चलता है, लेकिन नहीं अस्थायी इलाके।
यहाँ एक उदाहरण है कि पता चलता है अस्थायी इलाके
A[1], A[2000], A[1], A[1], A[2000], A[30], A[30], A[2000], A[30], A[2000], A[30], A[4], A[4]