Intel Atom Processor 용 Android x86 기반 frameweork를 개발 중입니다. 전체 프레임 워크를 구현했지만 코드에 대한 SIMD 구현 문제가 있습니다. 기본 C 코드를 실행하면 에뮬레이터와 하드웨어에서 상당한 성능을 발휘하지만 코드에 내장 옵션을 사용할 때 실제 이득은 없지만 성능은 무시할 수 있습니다. Intel i7 프로세서에서 코드를 실행했습니다. 약 200 %의 이득이있었습니다. 나는 확실히 PC와 타블렛이 사용하는 주파수 인 &의 주파수를 고려하지만, 안드로이드 프레임 워크에서 SIMD 코드를 활성화 할 때 여전히 이득이 있어야한다. 지금까지 분석 한 가능한 문제점 :Android 프레임 워크에서 SIMD 성능이 저하됩니다.
1) 로컬 C 플래그 (모든 사람이 인텔 아톰 프로세서에 적합한 C 플래그를 제안 할 수 있음).
2) 프레임 워크의 소스 코드 대신 .so 파일을 사용하는 것이 좋습니다.
3) Intel Atom에 적합한 NDK, 4.8을 사용 중입니다.
4) 최적화 수준은 O2 또는 O3으로 설정해야합니다.
성능을 저해 할 수있는 다른 이유가있는 경우 알려 주시기 바랍니다. 미리 감사드립니다.
더 명확하게 질문해야 할 수도 있습니다 : "내장 옵션 사용"이란 무엇을 의미하는지 설명 할 수 있습니까? intrinsics 코드를 직접 작성할 수도 있지만 ("활성화"하는 것과 같지 않습니다. 어셈블리를 사용하여 코드를 작성하는 것과 비슷합니다) 컴파일러 명시 적/자동 벡터화를 사용할 수 있습니다. – zam