विंडोज 7 में फाइलसिस्टम कैश क्या करता है?


16

निदान क्यों Git इतनी धीमी गति से है लेख में इस दिलचस्प आइटम हैं:

फ़ाइल सिस्टम कैश सक्षम करें

विंडोज 'फाइलसिस्टम लेयर स्वाभाविक रूप से लिनक्स से अलग है' (जिसके लिए Git का फाइल सिस्टम एक्सेस ऑप्टिमाइज़ किया गया है)। वर्कअराउंड के रूप में, Git for Windows एक फाइलसिस्टम कैश प्रदान करता है जो कई मामलों में परिचालन को तेज करता है, एक प्रारंभिक "वार्म-अप" के बाद। आप प्रति-रिपॉजिटरी में फाइल सिस्टम कैश को सक्रिय कर सकते हैं:

git config core.fscache true

अगर मैं इस विकल्प को Git में सक्षम करता हूं, तो वास्तव में क्या बदलता है? विंडोज 7 में फाइलसिस्टम कैश कैसा दिखता है, और क्या कैश किया जा रहा है? "प्रारंभिक वार्म-अप" क्या होता है?

जवाबों:


10

यहाँ git config --helpकहते हैं:

core.fscache
कुछ कार्यों के लिए फ़ाइल सिस्टम डेटा की अतिरिक्त कैशिंग सक्षम करें।

Windows के लिए Git इसे पूरी निर्देशिकाओं के बल्क-रीड और कैशे lstat डेटा (फ़ाइल द्वारा lstat फ़ाइल करने के बजाय) का उपयोग करता है।

कई फ़ाइल-सिस्टम अनुरोध करने के बजाय, निर्देशिका में सभी फ़ाइलों के बारे में जानकारी प्राप्त करने के लिए केवल एक अनुरोध ही करेगा।

अधिक तकनीकी विवरण यह पाया जा सकता है कि शुरू की गई fscache:
Win32: मिंगव के lstat और dirent कार्यान्वयन के नीचे एक कैश जोड़ें

विंडोज पर कार्य वृक्ष की स्थिति की जांच करना काफी धीमा है, क्योंकि धीमी गति से उत्सर्जन (प्रत्येक सूचकांक में फ़ाइल के लिए गिट एक बार कॉल करता है)। विंडोज ऑपरेटिंग सिस्टम एपीआई एकल फाइलों की जांच करने की तुलना में पूरी निर्देशिका की स्थिति को स्कैन करने में बहुत बेहतर लगता है।

एक lstat कार्यान्वयन जोड़ें जो lstat डेटा के लिए कैश का उपयोग करता है। कैश को पूरे मूल निर्देशिका को पढ़ने और कैश में जोड़ने की याद आती है। उसी निर्देशिका के लिए बाद में lstat कॉल सीधे कैश से परोसा जाता है।

इसके अलावा opendir / readdir / shutir लागू करें ताकि वे कैश में डायरेक्टरी लिस्टिंग बनाएं और उपयोग करें।

कैश फ़ाइल सिस्टम परिवर्तनों को ट्रैक नहीं करता है और किसी भी संशोधित फ़ाइल एपीआई में प्लग नहीं करता है, इसलिए इसे स्पष्ट रूप से उन कार्यों के लिए सक्षम किया जाना चाहिए जो काम की प्रतिलिपि को संशोधित नहीं करते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.