तेजी लाने के लिए मैं टैब द्वारा विभाजित मान को पार्स कर रहा हूँ:कैसे UTF-8 स्ट्रिंग प्रसंस्करण
pub fn parse_tsv(line: &str) -> MyType {
for (i, value) in line.split('\t').enumerate() {
// ...
}
// ...
}
perf
शीर्ष str.find
शामिल हैं। जब मैं जेनरेट किए गए असेंबली कोड में देखता हूं, तो &str
में प्रतीकों के यूटीएफ -8 कोडिंग से संबंधित बहुत अधिक काम होता है।
और यह अपेक्षाकृत घोर धीमी है। निष्पादन समय में 99% लगते हैं।
लेकिन \t
खोजने के लिए मैं बस एक यूटीएफ -8 स्ट्रिंग में एक-बाइट \t
खोज नहीं सकता।
मैं क्या गलत कर रहा हूं? जंग Stdlib गलत क्या कर रहा है?
या शायद जंग में एक स्ट्रिंग लाइब्रेरी है जो 'u8' बाइट्स द्वारा स्ट्रिंग का प्रतिनिधित्व कर सकती है? लेकिन सभी split()
, find()
, और अन्य विधियों के साथ?
आप पर अनुकूलन के साथ संकलन कर रहे हैं? ('--release' कार्गो के साथ) – huon
@huon पाठ्यक्रम – vladon
यदि आप '\ t" 'का उपयोग करते हैं तो गति अंतर क्या है? – Shepmaster