0Pricing
Swift Academy · Lesson

Performance notes — copy-on-write

Understand Swift String performance: copy-on-write (COW), substring sharing, and how to manage memory efficiently.

Performance notes — copy-on-write is a free Swift Academy lesson on CoddyKit — lesson 3 of 3. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Swift Academy learning path, one of 3 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Intro

Goal: Learn how Strings use copy-on-write (COW) to balance performance and safety. Substrings also share memory until needed.

Shared storage

Assigning a String does not immediately copy characters. Both share the same storage.

var a = "Hello World"
var b = a            // no real copy yet
print(a, b)

Mutation triggers copy

A copy occurs only when one of the values mutates. This is copy-on-write.

b.append("!!!")   // triggers a real copy
print("a:", a)
print("b:", b)

Substrings

Substrings share the original string's memory. Converting to String makes a full copy.

let text = "Hello Swift"
let part = text.prefix(5)   // Substring
print(part)

Substring → String

Explicitly create a String from a Substring if you want it to own storage.

let s: String = String(part)
print("Converted:", s)

Tips

Tips:

  • Assignments are cheap until modified.
  • Be cautious with long-lived Substrings—they keep the full original string in memory.
  • Convert to String if you need independent storage.

COW question

Quick check: What does copy-on-write do?

Recap

Recap: Swift Strings use copy-on-write to be efficient. Assignments and substrings share memory; a real copy happens only on mutation or explicit conversion.

Frequently asked questions

Is the “Performance notes — copy-on-write” lesson free?

Yes — the full text of “Performance notes — copy-on-write” is free to read here on the web, and the Swift Academy course includes 3 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Swift Academy course, upgrade to CoddyKit PRO.

What will I learn in “Performance notes — copy-on-write”?

Understand Swift String performance: copy-on-write (COW), substring sharing, and how to manage memory efficiently. You practise Swift Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Swift Academy?

No prior experience is required. Swift Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 3 of 3, so you can start here or from the beginning and move at your own pace.

How long does the “Performance notes — copy-on-write” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Swift Academy lesson?

Yes. Every Swift Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Strings & Unicode — graphemes, indices, substrings, APIs
  2. Common APIs — prefix/suffix/contains, split/join
  3. Performance notes — copy-on-write
← Back to Swift Academy