2010-11-30 3 views
6

공개적으로 사용할 수있는 Objective-C 코드를 작성 중입니다. 이 코드는 주로 잘 알려진 알고리즘으로 구성되어 최적화의 이점을 얻습니다. 나는 C로 객체와 가비지 컬렉션 생성에 대한 오버 헤드를 줄이기 위해 대부분의 코드를 작성할 계획이다. 이것은 나쁜 관행으로 간주됩니까?objective-c/cocoa 프레임 워크에서 c 코드를 작성하는 것은 나쁜 습관이라고 생각하십니까?

답변

11

아니요. 이것은 실제로 실제로 빈번히 이루어집니다.

일반적으로 시간이 중요한 코드가 더 빨리 실행되어야 할 때 (다른 모든 것은 동일하고 C 함수를 호출하는 것이 Objective-C 방법보다 빠름)이 작업을 수행합니다.

그러나 C 함수를 대신 작성하는 것이 더 좋을 수도 있습니다.

Objective-C는 C의 상위 집합이므로 Objective-C는 할 수있는 모든 작업을 수행 할 수 있으며 C가 수행 할 수있는 작업을 수행하는 것은 나쁜 것으로 간주해서는 안됩니다. 어쨌든 어떤 일을하는 것이 바람직하지 않을 수도 있습니다.

0

조기 최적화는 좋은 연습이인지 응용 프로그램에 전적으로 달려있다 모든 악의

의 루트입니다. 대부분의 경우 Objective-C에 먼저 작성한 다음 너무 느린 경우 최적화를 위해 프로파일 러를 사용합니다.

그러나 언어 해석기 또는 CPU 에뮬레이션을 작성하는 경우와 같이 최적화가 필요한 경우가 있습니다. 이러한 경우 (그리고 프로파일 링이 병목 현상을 나타내는 경우) 순수한 C를 쓰는 것이 완벽합니다.

0

아니요. Apple의 고유 한 프레임 워크는 대부분 Core Graphics 또는 Accelerate와 같은 C입니다. C는 많이 사용하고 수학 함수처럼 빠르게 실행해야하는 함수에 매우 유용합니다.

0

OO 모델, 특히 단일 발송 인 경우에는 의미가없는 경우가 있습니다. 일반적인 기능을 위해 명확한 선호받는 "수신자"가 없을 수 있습니다. 다중 디스패치 제네릭 함수를 지원하는 언어는 내가 좋아할 것입니다. 그러한 언어는 대부분의 사람들이 OO로 생각하는 것뿐만 아니라 그저 훨씬 오래된 언어의 C 스타일 함수 만 지원합니다.

관련 문제