문제

방금 iPhone이 기본적으로 이중으로 수행 할 수 없으므로 일반 플로트가 훨씬 느리게 만들 수 있다고 들었습니다.

이것이 사실입니까? 증거?

내 프로그램에는 높은 정밀 계산이 필요하기 때문에이 문제에 관심이 많으며 속도를 타협해야합니다.

도움이 되었습니까?

해결책

iPhone은 하드웨어에서 단일 및 이중 정밀 산술을 모두 수행 할 수 있습니다. 1176 (원래 iPhone 및 iPhone3G)에서는 거의 동일한 속도로 작동하지만 캐시에 더 많은 단일 정제 데이터를 맞출 수 있습니다. Cortex-A8 (iPhone3gs, iPhone4 및 iPad)에서 단일--------절도 산술은 VFP 대신 Neon 장치에서 수행되며 실질적으로 더 빠릅니다.

집중적 인 플로팅 포인트 계산을 수행하는 경우 ARMV6의 컴파일 설정에서 썸 모드를 끄십시오.

다른 팁

이 슬라이드 쇼 부동 소수점이 좋은 이유와 왜 벡터 부동 소수점 유닛이 있는지에 대한 통찰력을 제공합니다. 분명히, 플로팅 포인트 지지대가 켜져 있는지 여부에 영향을 미치는 "엄지 모드"를 확인하는 것이 중요합니다. 이것이 항상 개선 된 것은 아닙니다. 어셈블리 코드에서 올바른 지침을 찾는 방법을 보여줍니다.

그것은 또한 의존합니다 전화의 어떤 버전 코드를 실행하고 싶습니다. 가장 최근의 것은 플로팅 포인트 수학을 수행하는 데 "더 유능한"것으로 보입니다.

편집 : 여기에 흥미로운 읽기가 있습니다 부동 소수점 최적화 VFP와 Neon SSE가있는 팔에.

ARM1176JZF-S 매뉴얼은 이중 정밀 부동 소수점 번호를 지원한다고 말합니다. 당신은 좋은 모양이어야합니다. 여기에 있습니다 링크 PDF 문서에. 나중에 iPhone은 피질 칩이며 확실히 능력이 덜되어서는 안됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top