성능을 위한 XCode 빌드 설정 - iPhone 앱
iPhone 응용 프로그램 성능 향상에 대한 몇 가지 팁을 찾을 수 있는 온라인 기사가 있습니까? 메모리 관리 및 CPU 주기에 대한 Apple 문서를 읽었지만 별로 도움이 되지 않습니다.
또한 누군가 응용 프로그램(릴리스 버전)의 성능을 향상시킬 수 있는 몇 가지 XCode 설정을 제안할 수 있습니까?
감사 해요
주전자
측정 및 최적화 외에 컴파일러 최적화 수준은 응용 프로그램의 성능에 영향을 미치는 유일한 요소입니다. 일반적으로 최적화 수준은 -Os 입니다. 즉, 최적화된 코드이지만 크기에도 최적화되어 있습니다. iPhone의 메모리는 제한되어 있으므로 코드 크기를 줄이는 것이 좋습니다.
그 외에도 애플리케이션의 성능을 측정하고 그에 따라 대응해야 합니다. Instruments에는 이 작업에 도움이 되는 많은 도구가 있습니다. 도구는 일단 알아내면 실제로 매우 훌륭합니다.
아직 실제로 아무것도 측정하지 않았다는 점을 감안할 때(좋습니다. 작동하게 하고, 올바르게 만들고, 빠르게 만드십시오), 덜 매달린 과일이 있을 수 있습니다. 뭔가를 너무 자주 다시 그리나요? 일부 자동 시간 이벤트가 너무 빨리 실행되었습니까? etc... 너무 성급한 최적화의 함정에 빠지지 마십시오. 측정 및 대응의 필요성은 성공적인 최적화에 가장 중요합니다.
또한 시뮬레이터를 통해 거친 최적화를 수행할 수 있지만 최종 광택 최적화를 수행하려면 장치에서 실행 중인 앱에서 분석을 수행해야 합니다.
(1) 데이터베이스 쿼리가 정말 느린 것 같습니다. 스키마 등을 모르면 그것이 사실인지 알기 어렵습니다.
(2) 성능 분석을 수행하고 알 수 없는 라이브러리의 함수에 의해 시간이 소비되는 경우 스택을 조회하고 해당 라이브러리를 호출하는 것이 무엇인지 확인하여 앱이 성능 저하를 유발하는 이유를 파악하십시오.
기본적으로 bbum이 말한 것입니다. 실제 데이터를 가져 와서 거기에서 이동하십시오. 즉, 상당한 영향을 미칠 수 있는 몇 가지 컴파일 플래그가 있습니다.
-O0에서 컴파일하고 있지 않은지 확인하십시오. bbum이 언급했듯이 -O는 아마도 당신이 원하는 것입니다.
부동 소수점 계산을 많이 수행하는 경우 ARMv6용으로 빌드할 때 "Thumb용 컴파일"(-mthumb)이 설정되지 않았는지 확인하십시오. ARMv6의 thumb 명령어 세트에는 부동 소수점 명령어가 없으므로 사용하는 모든 부동 소수점 연산에 대해 shim을 사용합니다. 종종 이것은 코드 크기 절약으로 상쇄되지만 부동 소수점이 많은 경우 성능 위험이 될 수 있습니다. 엄지손가락으로 프로젝트의 일부를 빌드하고 일부는 꺼진 상태로 빌드할 수 있습니다. 또한 ARMv7의 thumb2 명령어 세트는 부동 소수점을 지원합니다.
iPhone 성능을 개선하는 가장 좋은 방법은 컴파일러 최적화뿐만 아니라 더 나은 알고리즘을 통해 앱 성능을 개선하는 것입니다.
일반적으로 컴파일러 최적화는 성능을 한 자리 또는 두 자리 백분율로 향상시킬 수 있습니다. 더 나은 알고리즘, 캐싱, 재설계 등을 사용한 코드 최적화는 3자리 백분율 향상을 가질 수 있습니다.
내 앱의 성능을 눈에 띄게 향상시키는 컴파일러 설정을 찾지 못했습니다. 마일리지는 다를 수 있습니다.