Updating the iOS version on an old iPhone tends to make basic operations like startup, placing calls, and checking settings take longer. The change from eg iOS 7 to 8 on an iPhone 4S has a very perceptible effect.
I can understand why newly introduced features are more demanding therefore require more CPU time to run, but this does not explain why an iPhone running iOS 7 would take 4 seconds to display text messages, but the exact same iPhone takes 9 seconds to display the exact same messages when it is running iOS 9.
What causes this? If one were to run a profiler on an app that takes n seconds on an iPhone running iOS7 and n+m seconds on an identical phone running iOS9, then some bars in that profile must be longer by m seconds. Which ones are they?