Я разрабатываю фреймворк на базе Android x86 для процессора Intel Atom. Я реализовал всю структуру, но у меня возникли проблемы с реализацией SIMD для моего кода. Когда я запускаю базовый код C, он дает значительную производительность как на эмуляторе, так и на оборудовании, однако, когда я включаю встроенную опцию для кода, нет фактического выигрыша, но незначительная потеря производительности. Я запустил свой код на процессоре Intel i7, прирост составил примерно 200%. Я, конечно, принимаю во внимание частоту и количество ядер, которые используют ПК и планшет, но все же должен быть некоторый выигрыш, когда я включаю SIMD-код на платформе Android. Возможные проблемы, которые я проанализировал до сих пор:
1) Локальные флаги C (может ли кто-нибудь предложить подходящие флаги C для процессора Intel Atom).
2) Целесообразно ли использовать файл .so вместо исходного кода во фреймворке.
3) Подходит NDK для Intel Atom, я использую 4.8.
4) Уровень оптимизации должен быть установлен на O2 или O3.
Если есть какие-либо другие причины, которые могут помешать работе, сообщите мне об этом. Заранее спасибо.