Observações sobre desempenho — copy-on-write
Entenda o desempenho de String no Swift: copy-on-write (COW), compartilhamento de substrings e como gerenciar a memória com eficiência.
Observações sobre desempenho — copy-on-write é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 3 aulas no total.
Introdução
Objetivo: aprender como as Strings usam a cópia na escrita (COW) para equilibrar desempenho e segurança. As subcadeias também compartilham memória até que isso seja necessário.
Armazenamento compartilhado
Atribuir uma String não copia os caracteres imediatamente. Ambas compartilham o mesmo armazenamento.
var a = "Hello World"
var b = a // no real copy yet
print(a, b)A mutação aciona a cópia
Uma cópia ocorre somente quando um dos valores sofre mutação. Isso é cópia na escrita.
b.append("!!!") // triggers a real copy
print("a:", a)
print("b:", b)Subcadeias
As Substrings compartilham a memória da string original. Convertê-las para String cria uma cópia completa.
let text = "Hello Swift"
let part = text.prefix(5) // Substring
print(part)Substring → String
Crie explicitamente uma String a partir de uma Substring se quiser que ela tenha seu próprio armazenamento.
let s: String = String(part)
print("Converted:", s)Dicas
Dicas:
- As atribuições são baratas até que os valores sejam modificados.
- Tenha cuidado com Substrings de longa duração — elas mantêm a string original inteira na memória.
- Converta para String se precisar de armazenamento independente.
Pergunta sobre COW
Verificação rápida: o que a cópia na escrita faz?
Recapitulação
Recapitulação: as Strings do Swift usam cópia na escrita para serem eficientes. Atribuições e subcadeias compartilham memória; uma cópia real só ocorre durante uma mutação ou uma conversão explícita.
Perguntas Frequentes
A aula “Observações sobre desempenho — copy-on-write” é grátis?
Sim — o texto completo de “Observações sobre desempenho — copy-on-write” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 3 aulas no total.
O que vou aprender em “Observações sobre desempenho — copy-on-write”?
Entenda o desempenho de String no Swift: copy-on-write (COW), compartilhamento de substrings e como gerenciar a memória com eficiência. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Swift Academy?
Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.
Quanto tempo leva a aula “Observações sobre desempenho — copy-on-write”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Swift Academy?
Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Strings e Unicode — grafemas, índices, substrings e APIs
- APIs comuns — prefix/suffix/contains, split/join
- Observações sobre desempenho — copy-on-write