संपादित
मेरे मूल जवाब बहुत अंतिम भाग के लिए छोड़कर गलत था, और मुझे लगता है कि के लिए माफी माँगता किया है। मैं इस तथ्य के बारे में जानता था कि वेक्टर के पास "हुड के नीचे" चार कार्यान्वयन हैं। (आप रॉबर्ट पेननर here द्वारा एक पोस्ट में एफपी 10 playerglobal.swc से अपूर्ण स्रोतों को पा सकते हैं) उनमें से तीन संख्या प्रकार (int, uint और संख्या) के लिए हैं। एक वस्तु प्रकार के लिए है। यह आखिरी व्यक्ति पकड़-सब के रूप में कार्य करता है और ऑब्जेक्ट से प्राप्त सभी वर्गों में ले जाता है। यही कारण है कि मैंने माना कि Vector.<Object>
एरे से अभी भी तेज था, the information regarding vectors and arrays available from Adobe पर निर्भर था।
हालांकि, ऐसा लगता है यह जानकारी गलत है, या कम से कम यह कुछ महत्वपूर्ण भागों बाहर छोड़ देता है कि:
Vector.<AnyClassDerivedFromObject>
सख्त टाइपिंग के लिए अनुमति देता है, इस प्रकार की जानकारी केवल संकलन समय में मूल्यांकन किया जाता है (ताकि आप अधिक प्रकार की सुरक्षा प्राप्त करें), लेकिन रनटाइम पर नहीं - इस प्रकार अनिवार्य रूप से सख्त टाइपिंग ऑब्जेक्ट वेक्टर के लाभ प्रदर्शन पर लागू नहीं होते हैं। अधिक जानकारी के लिए this blog post देखें।
नतीजतन, वेक्टर की एकमात्र कार्यान्वयन जो ऐरे से तेज़ हैं, संख्या प्रकार (!) के लिए हैं।
वास्तव में, मैं इस पर कुछ व्यापक परीक्षण किया है, और इस निष्कर्ष पर आ गए हैं कि जब तक Vector.<int>
अप करने के लिए 60% ints की सरणी की तुलना में तेजी है, सभी Vector.<Object>
की derivates गति में ही बराबर नहीं हैं (अर्थातVector.<Object>
Vector.<String>
जैसा ही करता है, वे लगभग 20% धीमे ऐरे की तुलना में धीमे हैं। मैंने डबल- और ट्रिपल-चेक किया है, इसलिए मेरा मानना है कि परिणाम काफी सटीक हैं।
यह अभी भी सच है कि संख्या प्रकार वैक्टर तेजी से हैं, इसलिए आपको उन लोगों को ऐरे पर प्रदर्शन लाभ के लिए उपयोग करना चाहिए। लेकिन:
अंत संपादित
आप sort()
, sortOn()
का उपयोग करने जा रहे हैं सिर्फ अगर या सरणी के सुविधाजनक छंटाई कार्यों के किसी भी अन्य, आप अभी भी, नहीं तो तय कर सकते हैं, क्योंकि इन देशी कार्य हैं, और जैसा कि ऐसे वास्तव में तेजी से। एक वेक्टर पर अपनी खुद की सॉर्टिंग विधियों को लागू करना शायद उनकी गति से मेल नहीं खाएगा।
मेरा अद्यतन उत्तर @ crooksy88 देखें। मैंने टेस्ट कोड + परिणाम पोस्ट किए हैं जो दिखाता है कि मेरा मूल सही है और weltraumpirat का जवाब पेटेंट झूठा है। –