Я собираю строковые данные в структуре. В конце я пишу эту строку в файл. Результаты - 4 файла каждый 80 МБ. Но внутренне он занимал около 16 ГБ (!) Оперативной памяти, заставляя ОС обмениваться. (Я использую 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 }
}
...
}
Любая идея, почему это происходит и как этого избежать?
Похоже, что у вас где-то есть утечка памяти. Вы запускали инструменты и проверяли, что использует всю память? –
Нет, я не знаю инструмент. Я ищу его (и как использовать) и попытаюсь изучить эту проблему. –
Конечно, все в порядке, но вы можете переписать свой «ActionCMD» как «класс», если это не повредит вашей архитектуре. – Leo