स्ट्रिंग के सबस्ट्रिंग लेना एक बहुत ही सामान्य स्ट्रिंग मैनिपुलेशन ऑपरेशन है, लेकिन मैंने सुना है कि जावा और .NET प्लेटफ़ॉर्म के बीच प्रदर्शन/कार्यान्वयन में काफी अंतर हो सकते हैं। विशेष रूप से मैंने सुना है कि जावा में, java.lang.String
substring
के लिए निरंतर समय आपरेशन प्रदान करता है, लेकिन नेट में, System.String
रैखिक प्रदर्शन Substring
प्रदान करता है।.NET और Java
क्या ये वास्तव में मामला हैं? क्या यह दस्तावेज़ीकरण/स्रोत कोड, आदि में पुष्टि की जा सकती है? क्या यह क्रियान्वयन विशिष्ट है, या भाषा और/या मंच द्वारा निर्दिष्ट है? प्रत्येक दृष्टिकोण के पेशेवरों और विपक्ष क्या हैं? किसी भी प्लेटफ़ॉर्म से दूसरे में माइग्रेट करने वाले व्यक्ति को किसी भी प्रदर्शन के नुकसान में पड़ने से बचने के लिए क्या देखना चाहिए?
इसका परीक्षण करने के लिए अपने स्वयं के माइक्रो बेंचमार्क क्यों न चलाएं ? क्या आप उन स्रोतों से लिंक कर सकते हैं जो कहते हैं कि इसमें "खराब" प्रदर्शन है? – Oded
@ ओडेड: स्रोत डैनी चेन की टिप्पणी यहां है http://stackoverflow.com/questions/3474254/how-to-make-a- फर्स्ट-letter-capital-in-c/3474263#3474263; ईमानदारी से मैं आश्चर्यचकित हूं कि 'सबस्ट्रिंग'' ओ (1) 'समय-और-अंतरिक्ष संचालन नहीं है (जैसे जावा), लेकिन मैं उसे संदेह का लाभ दे रहा हूं क्योंकि मुझे .NET नहीं पता है। – polygenelubricants
इसका मतलब क्या है "खराब प्रदर्शन"? क्या सापेक्ष है? उदाहरण के लिए सी ++ की तुलना में .NET का भी खराब प्रदर्शन होता है। क्या हमें इसके कारण .NET ड्रॉप करना चाहिए? –