मैं fs.Length
का उपयोग कर रहा हूं, जहां fs
FileStream
है।फ़ाइल की लंबाई पढ़ने के लिए सबसे तेज़ तरीका सी #
क्या यह O(1)
ऑपरेशन है? मुझे लगता है कि यह फाइल के गुणों से सिर्फ पढ़ेगा, क्योंकि फाइल के माध्यम से जाने के विरोध में यह पता लगाने के लिए कि खोज स्थिति अंत तक पहुंच गई है। जिस फ़ाइल को मैं लंबाई ढूंढने की कोशिश कर रहा हूं वह आसानी से 1 एमबी से 4-5 जीबी तक हो सकती है।
हालांकि मैंने देखा कि FileInfo
वर्ग है, जिसमें Length
संपत्ति भी है।
क्या इन दोनों Length
गुण सैद्धांतिक रूप से समान समय लेते हैं? या fs.Length
धीमा है क्योंकि इसे पहले FileStream
खोलना होगा?
दुष्ट, समय की जानकारी के लिए धन्यवाद! – jpints14
उस तरह से बेंचमार्किंग एक अंतर के लिए परीक्षण का सबसे प्रभावी तरीका नहीं हो सकता है (यदि कोई है तो)। मुझे लगता है कि डिस्क कैशिंग/ओएस कारक समय को कम रखने में काफी भूमिका निभाएंगे। – PaulG
@PaulG आप बहुत सही हैं। बेंचमार्किंग ** हमेशा ** दिखता है उससे कहीं अधिक जटिल है। ** ** से ऊपर का सरल बेंचमार्क वास्तविक परिणाम के बारे में _ कुछ संकेत देता है। चूंकि यह वापस नहीं आता है 100000 बनाम 250, मुझे लगता है कि यह निष्कर्ष निकालना संभव है कि दोनों विधियां बहुत अलग नहीं हैं_ (गणना समय के संदर्भ में)। – ken2k