NSNotificationCenter vs delegation - which is faster?

I have read a lot about the pros and cons of each, and I know delegates are usually for one listener, and notifications are for many. The question is about performance.

I have read NSNotificationCenter vs delegation( using protocols )?

I am sending audio signals from mic to another class by notification. I know that here I should use the delegate BUT my question is would delegates be faster?

I have a decreased framerate issue, and I would like to know if the cause could be the using notifications instead of a delegate, or there is no relation?


  • Delegates come with less overhead and will therefore be executed much faster.

    However, in general you should look on performance topics only there where they are likely to be an issue at all. For once-off tasks like sending a notification vs calling a delegate this should never be an issue. But when you plan to perform these in a loop with a variable (depending on data) number of intarations or for a number of data objects where you have fetched or received the data an cannot predict how many there will be - those are the situations where I would consider performance optimization.