Ответ таков: зависит, но, вероятно, нет. Когда вы смотрите на эти числа, вызовы методов выглядят дорого (они в два раза медленнее!), Но если вы посмотрите на это в контексте реальной программы, реальный вывод состоит в том, что как вызовы функций, так и вызовы методов в большинстве случаев абсолютно бесплатны.
Создание чего-то, что называется 60 раз в секунду, занимает на 100 наносекунд меньше за звонок - это бессмысленная микрооптимизация на процессоре, столь же мощном, как у оригинального iPhone - несколько миллионных долей секунды в секунду. В реальных программах попадание, которое вы получаете для вызова метода по сравнению с функцией, будет уменьшено фактическим содержанием метода.
Что нужно сделать, это профилировать ваше приложение и посмотреть, где на самом деле тратится больше времени. Используйте эту информацию для улучшения алгоритмов, которые занимают больше всего времени. Вот как вы получите настоящее улучшение. По всей вероятности, самого objc_msdSend
не будет рядом с самым большим преступником.