2010-05-16 5 views
1

상황 :
나는 하루 구조가 있습니다. DAY 구조에는 Date (NSString *), Temperature (float) 및 Rainfall (float)의 세 가지 변수 또는 속성이 있습니다."단일 NSMutableArray"대 "다중 C- 배열"- 더 효율적/실용적인가?

문제점 :
I 약 5000 DAY 구조체의 배열을 반복 및 OpenGL을 사용 아이폰 장치의 화면 상에 이들의 일부를 그래프 화한다.

질문 :
그림 성능까지 어떤 것이 더 좋습니까? 간단히 NSMutableArray의 DAY 구조 (NSObjects)를 만들고 각 그리기 호출에서 배열을 반복 할 수 있습니다. 이것은 CPU에서 어려울 것이라고 생각합니다. 또는 대신 날짜 문자열 (2 차원), 온도 (1 차원) 및 강우량 (1 차원) 중 하나에 대해 하나씩 세 가지 C- 배열을 수동으로 관리 할 수 ​​있습니다. 반복 된 C- 배열의 현재 색인을 참조하여 현재 날짜를 추적 할 수 있습니다.

+0

또한 Day 구조체의 C 배열을 하나 가질 수도 있습니다. 3 개의 어레이보다 관리가 용이합니다. – progrmr

답변

3

많은 작업이 필요하지 않은 경우 항상이 편리한 솔루션으로 이동하고 코드에서 병목 현상이 입증 된 경우에만 최적화하십시오. 좀 더 최적화 된 버전으로 다시 작성하는 데 오랜 시간이 걸리는 많은 양의 코드를 작성할 경우 간단한 테스트 사례와 프로필을 작성하십시오.

+0

낮은 레벨 이전의 하이 레벨 API에 +1. – bddckr

2

모두 및 프로필을 사용해보십시오.

특히 정확히 정확한 문맥을 알 수 없으므로 다른 답변은 없습니다. 모든 앱은 다르게 작동합니다.

둘 다 동일한 성능을 제공하는 경우 사용하기 가장 쉬운 것으로 가장 가독성이 높은 것을 선택하십시오.

4

NSDate 객체 대신 NSString 객체에 날짜를 저장하는 이유는 무엇입니까?

+0

NSResponder가 말한 것. 주어진 Dates 문자열을 감안할 때 배열과 관련된 것보다 훨씬 더 큰 성능 문제가있을 수 있습니다. 정량화 한 다음 최적화하십시오. – bbum