"Single NSMutableArray" против "Multiple C-массивов" - что является более эффективным / практичным? - PullRequest
1 голос
/ 16 мая 2010

Ситуация:
У меня есть структура ДЕНЬ. Структура DAY имеет три переменные или атрибуты: Дата (NSString *), Температура (с плавающей точкой) и Дождь (с плавающей точкой).

Проблема:
Я буду перебирать массив из примерно 5000 структур DAY и отображать их часть на экране устройства iPhone с помощью OpenGL.

Вопрос:
Что касается производительности рисования, что лучше? Я мог бы просто создать NSMutableArray структур DAY (NSObjects) и выполнять итерации по массиву при каждом вызове отрисовки, что, по-моему, будет затруднительно для ЦП. Или я мог бы вместо этого вручную управлять тремя различными C-массивами - один для строки даты (2-мерный), один для температуры (1-мерный) и один для осадков (1-мерный). Я мог бы отслеживать текущий день, ссылаясь на текущий индекс повторяющихся C-массивов.

Ответы [ 3 ]

4 голосов
/ 16 мая 2010

Почему вы храните дату в объекте NSString вместо объекта NSDate?

3 голосов
/ 16 мая 2010

Если это не много работы, всегда выбирают удобное решение и оптимизируют только тогда, когда код оказывается узким местом. И если вы собираетесь написать большой кусок кода, для переписывания которого в более оптимизированную версию потребуется много времени, сделайте простой тестовый пример и профиль.

2 голосов
/ 16 мая 2010

Попробуйте оба и профиль.

На самом деле другого ответа нет, тем более что мы никогда не сможем точно знать ваш точный контекст. Каждое приложение работает по-разному.

Если они оба дают одинаковую производительность, выберите тот, который наиболее прост для вас и наиболее читаемый.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...