Why built-in functions are useful in Python - Performance Analysis
We want to see how using built-in functions affects how long a program takes to run.
Specifically, we ask: Does using built-in functions make the program faster or slower as input grows?
Analyze the time complexity of the following code snippet.
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x * x, numbers))
result = sum(squared)
print(result)
This code squares each number in a list using a built-in function and then sums the results.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Applying the function to each item in the list (map) and then adding all items (sum).
- How many times: Each operation runs once for every item in the list.
As the list gets bigger, the program does more work, but only in a straight line.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | About 20 (10 squares + 10 sums) |
| 100 | About 200 (100 squares + 100 sums) |
| 1000 | About 2000 (1000 squares + 1000 sums) |
Pattern observation: The work grows directly with the number of items; doubling items doubles work.
Time Complexity: O(n)
This means the time to finish grows in a straight line with the input size.
[X] Wrong: "Built-in functions always make code slower because they do extra work behind the scenes."
[OK] Correct: Built-in functions are usually written in fast, low-level code and handle tasks efficiently, often faster than manual loops.
Understanding how built-in functions affect time helps you write clear and efficient code, a skill valued in real projects and interviews.
"What if we replaced the built-in map with a manual for-loop? How would the time complexity change?"