2010-05-16 4 views
1

Situation:
J'ai une structure JOUR. La structure JOUR a trois variables ou attributs: une date (NSString *), une température (float) et une pluie (float)."Single NSMutableArray" vs "Multiple C-Arrays" --Quel est plus efficace/pratique?

Problème:
Je vais itérer à travers un réseau d'environ 5000 structures de jour et une partie de la représentation graphique ci sur l'écran de l'appareil iPhone en utilisant OpenGL.

Question:
En ce qui concerne les performances de dessin, ce qui est mieux? Je pourrais simplement créer un NSMutableArray de structures de JOUR (NSObjects) et itérer sur le tableau sur chaque appel de dessin - qui je pense serait dur sur le CPU. Ou, je pourrais gérer manuellement trois tableaux C différents - un pour la chaîne de date (2 dimensions), un pour la température (1 dimensionnelle) et un pour la pluie (1 dimension). Je pourrais suivre le jour en cours en référençant l'index actuel des C-Arrays itérés.

+0

Vous pouvez également avoir un tableau C de la structure Day. Plus facile à gérer que 3 tableaux. – progrmr

Répondre

3

Si ce n'est pas beaucoup de travail, toujours aller avec la solution pratique et optimiser uniquement lorsque le code s'avère être un goulot d'étranglement. Et si vous étiez en train d'écrire un gros morceau de code qui prendrait beaucoup de temps à réécrire dans une version plus optimisée, faites un cas de test simple et un profil. Pourquoi conservez-vous une date dans un objet NSString à la place d'un objet NSDate?

+0

+1 pour l'api de haut niveau avant le bas-levier. – bddckr

2

Essayez les deux et le profil.

Il n'y a vraiment pas d'autre réponse, d'autant plus que nous ne pouvons jamais connaître votre contexte exact sûr. Chaque application fonctionne différemment. Si elles donnent toutes les deux la même performance, choisissez celle qui est la plus facile à utiliser et la plus lisible.

4

+0

Ce que NSResponder a dit. Étant donné que vous avez des chaînes représentant des dates, il y a probablement un problème de performances beaucoup plus important dans votre application que tout ce qui concerne les tableaux. Quantifier, puis optimiser. – bbum

Questions connexes