[問題] 取代(Replace)的運作效能請益
事情是這樣的,在下正在的寫的專案中有一個需要大量取代字元的部分,
大概就像是,一個字串裡面的a通通變成b,b都變成c...等等,
我原本的做法是,用一個for迴圈從頭到尾給它全部跑一遍,
遇到a就+=一個b到另一個儲存用的字串...這樣的做法。
但這樣的寫法我一直都覺得毛毛的,好像太笨,效能會太差,
後來經過老師的提點,發現還有Replace這個指令可以用,
於是乎我把程式改為Replace的做法試試看,
先StringBuilder一個出來,
ToLower (這個專案大小寫不重要,重要是一定要取代乾淨)
接著就是數行Replace指令 (要取代的項目還挺多的)
我讓字串都先取代成大寫,這樣就不怕重複取代到,
最後再補一個ToLower,完成。
程式碼變得清爽很多(原先的迴圈+大量if else判定超肥),
但是!!悲劇的發現,執行效能不但沒有變快,反而似乎還更低了?!
我是不知道怎麼詳細的測執行速度啦,
(看板上都可以報出0.xxxxxxxxxxxxxxx的超詳細數值)
不過資料量一大,勝負還蠻明顯的,原先需要跑個兩秒,
改成Replace就跑到三秒+了。請益,是不是這樣的Replace寫法不適,
或Replace本就沒辦法很快...?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.169.34.157
推
07/20 17:06, , 1F
07/20 17:06, 1F
→
07/23 15:55, , 2F
07/23 15:55, 2F
→
07/23 16:17, , 3F
07/23 16:17, 3F
→
07/23 16:18, , 4F
07/23 16:18, 4F
→
07/23 16:31, , 5F
07/23 16:31, 5F
推
07/23 19:42, , 6F
07/23 19:42, 6F
→
07/24 09:13, , 7F
07/24 09:13, 7F
推
08/02 12:25, , 8F
08/02 12:25, 8F