Comments and documentation markup in Swift - Time & Space Complexity
We want to understand how adding comments and documentation affects the time it takes for a program to run.
Does writing comments change how fast the program works?
Analyze the time complexity of the following code snippet.
/// Calculates the sum of numbers from 1 to n.
/// - Parameter n: The upper limit number.
/// - Returns: The sum as an integer.
func sumUpTo(_ n: Int) -> Int {
var total = 0
for i in 1...n {
total += i
}
return total
}
This function adds numbers from 1 up to n and returns the total. It includes comments explaining what it does.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: The for-loop that adds each number from 1 to n.
- How many times: Exactly n times, once for each number.
As n grows, the number of additions grows the same way.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 additions |
| 100 | 100 additions |
| 1000 | 1000 additions |
Pattern observation: The work grows directly with n; double n means double the additions.
Time Complexity: O(n)
This means the time to run grows in a straight line with the size of n.
[X] Wrong: "Adding comments makes the program slower because it adds more lines to run."
[OK] Correct: Comments are ignored by the compiler when running the program, so they do not affect speed at all.
Understanding that comments do not affect how fast code runs helps you focus on what really matters when writing efficient programs.
"What if we replaced the for-loop with a formula that calculates the sum directly? How would the time complexity change?"