Мой вопрос касается iPhone, iPod и iPad, так как я предполагаю, что архитектура имеет большое значение.Я надеюсь, что где-то есть спецификация (возможно, для различных чипов) или надежный способ измерения T для каждой конкретной инструкции.Я знаю, что могу использовать любое количество инструментов для измерения совокупного времени процессора, используемой памяти и т. Д. Я хочу дать количественную оценку на более низком уровне.
Итак, я могу выяснить, сколько раз я хожучерез основную часть алгоритма.Например, я повторяю n * (n-1)
раза в наивной реализации, и между n
(в лучшем случае) и n + n * (n-1)
(в худшем случае) в другой.Я также могу подсчитать общее количество команд (+ - =% * / и логических операторов) и сравнить их, но при условии, что вес каждой операции одинаков.Кроме того, я не имею ни малейшего представления, как взвесить фактическое значение времени логического утверждения (если, иначе, для, в то время) против математического оператора ... это «если» столько же, сколько «+» каждый раз, когда яиспользуй это?Я хотел бы знать, где найти эту информацию.
Итак, для ясности, моя цель состоит в том, чтобы выяснить, сколько процессорного времени я требую от процессора (или графического процессора или любого U), чтобы я мог спроектироватьоптимальный алгоритм вокруг процессорного времени.Может кто-нибудь дать мне представление о том, с чего начать аппаратное обеспечение iOS?
Редактировать: Эта ссылка на ClockServices.c и SIMD на портале для разработчиков может быть хорошим началом для людей, интересующихсяэтот.Еще несколько чашек кофе сегодня вечером, и я могу пройти через это;)