評論:
# re: CString 的性能之殤
2010-02-01 12:33 |
# re: CString 的性能之殤
2010-02-01 12:35 |
CString設計還是很棒的. 單字符替換可以簡單的掃描即可,如果多字符肯定要重新分配內存的。
回復 更多評論
# re: CString 的性能之殤
2010-02-01 12:36 |
@chentan
可以考慮用緩沖保留一下,等到再次使用字符串的時候,或者線程空閑的時候再進行替換
回復 更多評論
# re: CString 的性能之殤
2010-02-01 14:04 |
你把CString ConvertFilePathToXmlKey(LPCTSTR lpFilePath)改成
void ConvertFilePathToXmlKey(CString &FilePath);可以解決這里的性能問題
回復 更多評論
# re: CString 的性能之殤
2010-02-01 16:30 |
@毛毛
這種方式不能, 不爭論. 況且 "入參數和出參數是同一個" 是糟糕的設計.
回復 更多評論
# re: CString 的性能之殤
2010-02-01 17:02 |
@free2000fly
不一定的,有些函數就是要Update,人家就不愿意創建一個新的字符串出來呢。
回復 更多評論
# re: CString 的性能之殤
2010-02-01 17:09 |
用CString的情況中總共造成了三次內存拷貝,可能是問題所在
更換后只有一次內存拷貝
回復 更多評論
# re: CString 的性能之殤
2010-02-01 20:01 |
# re: CString 的性能之殤
2010-02-05 23:16 |
好像從算法復雜度就可以解釋了。第一個遍歷3遍,后面一個遍歷1遍。
回復 更多評論
# re: CString 的性能之殤
2010-02-09 20:44 |
這也不能說是CString的性能之傷。
找你的應用來看,不就是通用代碼和專用代碼的性能比較而已。毫無意義
回復 更多評論