[心得] 各種字串Replace()效能比較?
程式寫作常常會用到替代字串的函式,最簡單就是用string.Replace()
但字串操作有記憶體增大的隱憂產生。
也陸續看了一些替代法,這篇文章有講到:
http://www.codeproject.com/KB/string/fastestcscaseinsstringrep.aspx
為了追求真理,我對裏頭的code作了實驗,包括reply文章中的建議函式
但發現作者精心調校的函式,反而都最慢
最後是String.Replace()最快~~ (不考慮記憶體用途)
這篇文章是2005年發表的,
表示微軟在這3年有對.Net Framework CLR函式作調校
我們用相關函數indexof卻變得更慢了...
結論:
為了追求真理使了勁,最後發現事情卻非預期,白白浪費時間!
精進研究的投資,似乎在短期內都不會有所回報,唉~~
執行1000次,效能:
自訂函式: 0.14895426653387511秒
StringBuilder.Replace(): 0.059551144069986552秒
String.Replace(): 0.021925342466710154秒
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.114.60
推
08/29 23:57, , 1F
08/29 23:57, 1F
→
08/29 23:58, , 2F
08/29 23:58, 2F
→
08/29 23:59, , 3F
08/29 23:59, 3F