Swift iOS macOS 巨量 字符串拼接,速度優化

Swift iOS macOS 巨量 字符串拼接,速度優化

使用字符串輸出文件時遇到的一個問題:一個數組中的數據如果太多,比如有 8-9萬條 數據,需要拼接起來再保存到文件

有兩種方式實現字符串拼接,這兩種方式在數據量小的時候感覺不出來,但像這種數量比較大的就會有很大差別

strs = [ "裏面是8萬條小字符串數據" ]
strs.forEach { (item) in
    // 方法一
    outStr = outStr + item
    
    // 方法二
    outStr.append(item)
}

方法一

outStr = outStr + item

這種方式是取原有拼接好的字符串 outStr 變量,去加另一個變量,也就是說在操作的時候需要把原有變量 outStr 複製一份再加,本來這個 outStr 變量就已經非常巨大了。所以速度就會非常慢。
8 萬條的數據在這裏需要處理 4 秒的時間

方法二

outStr.append(item)

這種方式是直接在原有字符串的基礎上從後面添加內容,不會複製原有變量 outStr,所以速度會非常快,幾乎感覺不到耗時。

結論

在巨量字符串拼接的時候一定要使用 String.append(String) 這個方法,不要使用直接數據相加的形式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章