Любая цель может быть достигнута разными способами. Приходится искать оптимальный способ для достижения поставленной цели.
Каким образом можно определить оптимальное достижение цели в программировании? Код должен быть красивым и оптимизированным. На оптимизацию влияют многие факторы, в том числе и время.
На примере наложения блюр-эффекта на изображение я разобрал несколько способов. Мне понадобилось измерить время выполнения каждого метода. Пришлось писать свой модуль (DPFPSHelper) для измерения времени выполнения любого Objective-C метода.
C помощью DPFPSHelper можно получить следующие данные:
- Время выполнение метода (в секундах),
- FPS (количество возможных вызовов в секунду),
- Среднее FPS (среднее арифметическое между всеми FPS данного метода)
Использование:
Имеем любой метод, например
-(void)myMethodWithParameter:(NSString*)string{ … }
Для того, чтобы вызвать этот метод с измерением времени его выполнения, достаточно просто написать одну строчку
[DPFPSHelper getFPSMethod:@”myMethodWithParameter:” withTarget:self withObject:@”XXX”];
В лог выведется результат. Например:
DPFPSHelper доступен на GitHub
UPDATE
Благодаря своему DPFPSHelper, я узнал, что метод класса NSString “lowercaseString” выполняется почти в 1.5 раза дольше, чем “uppercaseString”.