Thursday 15 April 2010

c# - Why is it so slow DateTime.TryParse with culture US and AdjustToUniversal -


यहां दो परीक्षण हैं, पहले का उपयोग करते हुए:

  • दिनांकटाइम TryParse (dateToParse, out date)

      var dateToParse = "2012-09-17"; Var startNew = स्टॉपवॉच। स्टार्टन्यू (); के लिए (इंट आई = 0; आई & lt; 4059; i ++) {दिनांकटाइम तिथि; अगर (! दिनांकटाइम.TryParse (तारीख टू-पर्स, आउट डेट)) जारी रहेगा; } कंसोल। WrightLine (startNew.GetTimeString ());     

    - & gt; आउटपुट: 1 9 .1 एमएस लाइटनिंग फास्ट

    का उपयोग करते हुए दूसरा वाला:

    • दिनांकटाइम। ट्री पर्स (डेट टूपार्स, नया संस्कृति इन्फो ("एन -US "), डेटटाइम स्टाइल। एडजस्टमेंट यूनिवर्सल, आउट डेट)

        var dateToParse =" 2012-09-17 "; Var startNew = स्टॉपवॉच। स्टार्टन्यू (); के लिए (इंट आई = 0; आई & lt; 4059; i ++) {दिनांकटाइम तिथि; अगर (! दिनांकटाइम। ट्री पर्स (डेट टूपेर्स, नई कल्चर इन्फो ("एन-यूएस"), डेटटाइम स्टाइल। एडजस्टमेंट यूनिवर्सल, आउट डेट)) जारी है; } कंसोल। WrightLine (startNew.GetTimeString ());     

      - & gt;

      1 - यह अमेरिकी संस्कृति में बदलने में बहुत धीमा क्यों है

      > 2 - यूएस-कल्चर के साथ डेटैट में स्ट्रिंग कन्वर्ट करने के लिए मैं कौन से वैकल्पिक समाधान का उपयोग कर सकता / सकती हूं

      थोड़ा सा अनुकूलन <पूर्व> var dateToParse = "2012-09-17"; कल्चर इन्फो सीआई = नई कल्चर इन्फो ("एन-यूएस"); Var startNew = स्टॉपवॉच। स्टार्टन्यू (); के लिए (इंट आई = 0; आई & lt; 4059; i ++) {दिनांकटाइम तिथि; यदि (! दिनांकटाइम। ट्राईपर्स (तारीख टूपार्स, सीआई, दिनांकटाइम स्टाइल। एडजेट करेंअ यूनिवर्सल, आउट डेट)) जारी है; }

      पहला उदाहरण और दूसरा एक के बीच का अंतर उस नए कल्चर इन्फो में है।
      लूप में प्रवेश करने से पहले इसे एक बार बनाने से समय की आवश्यकता कम हो जाएगी।

      हालांकि मैं मूल कोड के वास्तविक प्रदर्शन को देखने के लिए उत्सुक होगा जब आईडीई के बाहर संकलित और निष्पादित किया जाता है। यह संभव है कि जेटर इस ऑप्टिमाइज़ेशन को स्वयं बना देगा।

No comments:

Post a Comment