gpt4 book ai didi

swift - 字符串消耗大量内存

转载 作者:行者123 更新时间:2023-11-30 12:48:38 26 4
gpt4 key购买 nike

我正在结构中收集字符串数据。最后我将该字符串写入文件。结果是 4 个文件,每个文件 80 MB。但在内部它占用了近 16 GB(!)的 RAM,迫使操作系统进行交换。 (我使用的是 Swift 3.0)

struct ActionCMD {  // struct!
var cmd = String()

...

mutating func lines(_ text: String, toTheTop: Bool = false) {
if toTheTop { cmd = text + cmd }
else { cmd += text }
}
...
}

知道为什么会发生这种情况以及如何避免吗?

最佳答案

这可能与标记为mutating的方法有关。 Swift 中的 mutating 方法会将其更改应用到新副本(在本例中为 ActionCMD 实例)。根据代码的其余部分,您可能会保留所有这些实例。

关于swift - 字符串消耗大量内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41300854/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com