शेर में खोजक सूची दृश्य को "सभी आकारों की गणना" तेजी से तेजी से करने के लिए क्या बदल गया है?


10

चूंकि मैक ओएस एक्स दृश्य में आने से पहले, हम खोजक विंडो के लिए प्रत्येक फ़ोल्डर में शामिल पठनीय फ़ाइल आकार स्थान की कुल राशि का निर्धारण करने के लिए सभी आकारों की गणना करने के लिए खोजक से पूछने में सक्षम हैं ।

खोजक - सूची दृश्य - दृश्य विकल्प दिखाएं - सभी आकारों की गणना करें

मैंने कई मैक पर फ़ोल्डर्स की सूची दृश्य जांच की है जहां यह कोई फर्क नहीं पड़ता कि कोई एसएसडी मौजूद है या नहीं, लेकिन शेर आकार की गणना करने में इतना तेज है कि अगर कोई नया कैशिंग डेटा संरचना है या यदि खोजक का उपयोग कर रहा है तो मैं उत्सुक हूं इस गणना को तेज करने के लिए स्पॉटलाइट या एक समान डेटाबेस से मेटाडेटा जानकारी।


1
आपको वह खिड़की कहां से मिली? तल पर "डिफॉल्ट्स के रूप में उपयोग करें" बटन के आधार पर, यह "शो व्यू ऑप्शंस" विंडो (<kbd> dJ </ kbd>) की तरह दिखता है, लेकिन मुझे निचले भाग में दिखाने के लिए कुछ भी नहीं मिला।
काजुनलुक

1
@CajunLuke को "शो व्यू ऑप्शन्स" विंडो खोलने से पहले आपको अपने विंडो व्यू को लिस्ट में बदलना होगा।
PDD

जवाबों:


3

मैंने सिंह को पहली बार किसी फ़ोल्डर में आकारों की गणना के दौरान फ़ोल्डर (और पैकेज / बंडल) के आकार की गणना करने में तेज नहीं देखा है। हालाँकि, एक ही फ़ोल्डर में बाद की गणना बहुत तेज़ लगती है।

कथित त्वरितता का एक हिस्सा यह हो सकता है कि फाइंडर तुरंत गणना किए गए आकारों को ग्रे पाठ में दिखाएगा, जबकि यह "-" गणना किए जाने तक "-" दिखाने के बजाय फ़ोल्डर के आकार को पुनर्गणना करता है। फ़ोल्डर का आकार पुनर्गणना हो जाने के बाद, संख्या अपडेट हो जाएगी (यदि आकार बदल गया है) और काला हो जाएगा।

क्योंकि खोजक पूर्व में गणना की गई फ़ोल्डर आकार का व्यापक रूप से कैशिंग कर रहा है, इसलिए संभव है कि यह केवल उन फ़ोल्डरों के लिए पुन: आकार देने वाले आकार हैं जो पिछली बार गणना किए जाने के बाद से बदल गए हैं।


मुझे लगता है कि यह मुद्दे की नब है। कैशिंग बहुत बेहतर है और आंशिक या बासी परिणाम वृद्धिशील रूप से प्रदर्शित किए जाते हैं। मैं यह नहीं बता सकता कि एल्गोरिथ्म को देखने के लिए डेटा को भरने के लिए ट्विक किया गया है, लेकिन कैशिंग अकेले मेरे आनंद का जवाब लगता है कि यह अब अभ्यास में कैसे काम करता है।
bmike

इसे करीब से देखने के कुछ महीनों के बाद, आप पूरी तरह से सही हैं। कैशिंग तंत्र अब इतना अच्छा है कि मैक पर मैंने थोड़ी देर के लिए उपयोग किया है, यह डेटा लगभग हमेशा सही और तात्कालिक है। केवल एक नए मैक पर पुनर्स्थापना या परिसंघ के बाद ही पुराने गति ध्यान देने योग्य है क्योंकि ओएस को पूरी तरह से जानकारी एकत्र करना है।
bmike

7

लायन से पहले फाइंडर.एप्प में फाइल साइज कॉलम हार्ड डिस्क पर प्रत्येक फाइल के आकार को प्रदर्शित करेगा, न कि सटीक फाइल साइज को। उदाहरण के लिए, 1 बाइट फ़ाइलों को 4 KB के रूप में प्रदर्शित किया गया था क्योंकि वे वास्तव में एक HFS- स्वरूपित प्रणाली पर 4 KB स्थान लेते हैं। 1 बाइट के वास्तविक फ़ाइल आकार को देखने के लिए कोई आसान तरीका नहीं था, फ़ाइल को प्राप्त करने के अलावा अन्य जानकारी प्राप्त करें (या एक अलग ऐप का उपयोग करके ls -lsa, जैसे कि टर्मिनल.एप्प और फिर उपयोग करना , या TotalFinder.app की तरह फाइंडर.एप प्रतिस्थापन )।

(वापस दिन में, मैं बग 8,926,275 के रूप में इस पर सूचना दी bugreport.apple.com ।)

लायन के अनुसार, इस व्यवहार को ठीक कर दिया गया है, और फ़ाइल आकार कॉलम अब हार्ड डिस्क पर आवंटित आकार (जो फ़ाइल सिस्टम पर निर्भर करता है) के बजाय प्रत्येक फ़ाइल के लिए सटीक फ़ाइल आकार दिखाएगा।

चूंकि ये आकार lsटर्मिनल में द्विआधारी से प्राप्त होने वाली समान संख्याएं हैं , इसलिए वे गणना करने के लिए बहुत अधिक कुशल हैं।


1
यह बहुत बढ़िया विवरण है। जैसा कि SSD अधिक प्रचलित हो जाता है और स्नैपशॉट के साथ संग्रहण अधिक परिष्कृत हो जाता है, मुझे लगता है कि यह लंबे समय से यह चिंता करना बंद कर देता है कि किसी फ़ाइल का एक विशिष्ट उदाहरण कितनी जगह घेर रहा है और भौतिक के विपरीत फ़ाइलों के तार्किक आकार के बारे में चिंता करें।
bmike

मुझे यह समझ में नहीं आता है। यह कैसे अधिक कुशल है? क्या stat(2)दोनों नंबर प्राप्त करने के लिए एक भी कॉल जिम्मेदार नहीं है ? और ls(1)बंडलों / पैकेजों / फ़ोल्डरों के वास्तविक आकार को बिल्कुल नहीं दिखाता है, इसलिए मुझे नहीं पता कि यह प्रासंगिक क्यों है।
केन

@Ken lsनियमित फ़ाइल के लिए फ़ाइल के आकार को ठीक दिखाता है। statएकल फ़ाइल के लिए भी ऐसा ही कर सकते हैं। मेरा कहना है कि बंडलों / पैकेजों / फ़ोल्डरों के आकार की गणना के लिए "अतिरिक्त काम" की आवश्यकता अब केवल बंडलों / पैकेजों / फ़ोल्डरों के लिए है, न कि नियमित फाइलों के लिए।
मथियास बीनेंस ने

मैथियास: हाँ, lsनियमित फाइलों के लिए फ़ाइल आकार दिखाता है, बंडलों को नहीं (यही मैंने कहा है)। यह कॉल करके करता है stat। पहले नियमित फ़ाइलों के लिए "अतिरिक्त काम" क्या आवश्यक था? एक एकल statकॉल दोनों ब्लॉक ( st_blocks) और बाइट्स ( st_size) देता है।
केन

1

मुझे आश्चर्य नहीं होगा अगर वे फ़ाइल आकार को कैश करने के लिए स्पॉटलाइट मेटाडेटा का उपयोग कर रहे थे। यदि आप फ़ाइल सिस्टम के सभी परिवर्तनों को ट्रैक करने के लिए पहले से ही FSEvents का उपयोग कर रहे हैं और (संभावित) टाइम मशीन उन सभी परिवर्तनों को वापस करने के लिए, कुल फ़ाइल आकार की गणना और भंडारण की अतिरिक्त लागत नगण्य है।


मैं देखती हूँ कि अगर मैं मेटाडेटा या अन्यथा, सेम को फैलाने के लिए fs_events प्राप्त कर सकता हूं। मैं इसे स्पॉटलाइट डेटा पढ़ना पसंद करूंगा - लेकिन इसके प्रत्यक्ष प्रमाण नहीं हैं।
bmike

1

OS X Lion के साथ शुरू, Apple ने एक SQLite डेटाबेस जोड़ा है जो OS सिस्टम में फ़ाइल ट्रैकिंग जैसे स्पॉटलाइट के लिए उपयोग करता है। हर बार फ़ाइल सिस्टम का निरीक्षण करने के बजाय SQLite डेटाबेस से क्वेरी करना प्रदर्शन में सुधार के कारण होने की संभावना से अधिक है। जॉन सिराकुसा के ओएस एक्स लायन की समीक्षा में लायन में फाइल सिस्टम में बदलाव की गहराई से व्याख्या की गई है। विशेष रूप से, यहां आपको नए SQLite डेटाबेस पर एक स्पष्टीकरण मिलेगा

उम्मीद है की यह मदद करेगा।


यह एक बहुत अच्छा लिंक है, हालांकि SQLite डेटाबेस मेरे सभी मैक पर केवल उन दस्तावेजों को ट्रैक करने के लिए दिखाई देता है जिनके संस्करण हैं जो ड्राइव पर कुल फ़ाइलों का एक छोटा सबसेट है। यदि आप एक डेटाबेस का लिंक पा सकते हैं जो सभी फ़ाइल आकारों को संग्रहीत करता है, तो यह कहना कम से कम दिलचस्प होगा क्योंकि फाइल सिस्टम पहले से ही ऐसा करने के लिए डेटाबेस है, नहीं?
bmike
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.