The operations are mostly CPU-bound.
How are you running those operations? With a thread? Via an operation queue? Via GCD?
Have you set the quality of service for those operations? The correct way to do that depends on your answer to the above, but the QoS values are unified across all of those APIs. See for a summary of those values, or any one of a bunch of recent WWDC sessions [1].
Share and Enjoy
—
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
let myEmail = "eskimo" + "1" + "@apple.com"
[1] The concept was first introduced at WWDC 2014 and has featured heavily in WWDC performance talks since then, so many that it’s hard for me to provide all the links. It’s probably best to start at the beginning, with WWDC 2014 Session 710 710 Writing Energy Efficient Code, Part 1.