Оптимизация GCC отмечает для [закрытого] Intel Atom

Я не понял вашего вопроса.

Позвольте мне уточнить, что вы пытаетесь различить, это модульный тест. Вы можете сравнить, как 'Local/Small Unit Test vs Instrumented Unit Test. Тест локальных / малых модулей в основном для модели данных, где у вас может быть зависимость от Android Framework. Как и для классов POJO. Тест локальных / малых модулей выполняется очень быстро, так как для его запуска не требуется никакого физического устройства или эмулятора. , В то время как для инструментального модульного тестирования требуется физическое устройство или эмулятор, следовательно, он медленнее, чем локальный модульный тест. Я хотел бы привести цитату из официального источника

Написать небольшие тесты

По мере добавления и изменения функциональности вашего приложения убедитесь, что эти функции работают так, как задумано, создавая и выполняя модульные тесты для их. Несмотря на то, что можно оценивать модули на устройстве или эмуляторе, обычно быстрее и проще тестировать модули в вашей среде разработки, добавляя метки-заглушки или методы проверки по мере необходимости для взаимодействия с системой Android.

Инструментальные модульные тесты

Вы также можете запускать инструментальные модульные тесты на физическом устройстве или эмуляторе, которые не включают в себя насмешку или заглушение каркаса. Поскольку эта форма тестирования включает значительно более медленное время выполнения, чем локальные модульные тесты, тем не менее, лучше полагаться на этот метод только тогда, когда важно оценить поведение вашего приложения относительно реального оборудования устройства.

blockquote>

Для более подробной информации, пожалуйста, перейдите на This

27
задан user7305 21 September 2008 в 09:59
поделиться

9 ответов

GCC 4.5 будет содержать параметры -march = atom и -mtune = atom.

Источник: http://gcc.gnu.org/gcc-4.5/changes. html

31
ответ дан 28 November 2019 в 04:16
поделиться

У меня есть сценарий что автоматические выборы соответствующие флаги для Вашего ЦП и комбинации компилятора. Я только что обновил его для поддержки Intel Atom:

http://www.pixelbeat.org/scripts/gcccpuopt

Обновление: Я ранее определил-march=prescott для Atom, но изучающий больше его показывает, что Atom является merom совместимым ISA, поэтому-march=core2 является более соответствующим. Обратите внимание однако, что Атомы то, чтобы ядра, последний из тех, которые исходным Pentium. Поэтому это, вероятно, лучше к-mtune=pentium также. К сожалению, у меня нет Atom для тестирования. Я был бы очень признателен за, если кто-либо мог бы сравнить разности между:

-march=core2 -mfpmath=sse -O3
-march=core2 -mtune=pentium -mfpmath=sse -O3

Обновление: Вот несколько хороших статей о низкоуровневой оптимизации для Atom:

12
ответ дан 28 November 2019 в 04:16
поделиться

Ну, хинду Wiki указывает для prescott:

http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel#Atom_N270

CHOST = "i686-pc-linux-gnu"

CFLAGS = "-march=prescott-O2 - передают-fomit-frame-pointer по каналу"

CXXFLAGS =" $ {CFLAGS} "

5
ответ дан 28 November 2019 в 04:16
поделиться

Точно так же, как для Pentium 4:

-march=prescott -O2 -pipe -fomit-frame-pointer
2
ответ дан 28 November 2019 в 04:16
поделиться

Я не знаю, имеет ли GCC какие-либо определенные для Atom флаги оптимизации уже, но ядро Atom, как предполагается, очень похоже на исходный Pentium с очень значительным добавлением MMX/SSE/SSE2/SSE3/SSSE3 систем команд. Конечно, они только имеют значительное значение, если Ваш код с плавающей точкой или тяжел DSP.

, Возможно, Вы могли попробовать:

gcc-o2-march=pentium-mmmx-msse-msse2-msse3-mssse3-mfpmath=sse

1
ответ дан 28 November 2019 в 04:16
поделиться

Существует прохладная платформа, названная Acovea (Анализ Параметров компилятора с помощью Эволюционного Алгоритма) , Scott Rober Ladd, одним из хакеров GCC. Это - генетическая/эволюционная платформа алгоритма, которая пытается оптимизировать флаги оптимизации GCC для определенной части кода через естественный отбор.

Это работает что-то вроде этого: Вы пишете маленький кусочек кода сравнительного теста (это действительно должно быть мало, потому что это будет перекомпилировано и выполнилось несколько тысяч раз), который представляет рабочие характеристики большей программы, которую Вы хотите оптимизировать. Тогда Acovea случайным образом создает некоторые десятки различных командных строк GCC и компилирует и выполняет Ваш сравнительный тест с каждым из них. Лучшим из этих командных строк тогда позволяют "соединять" и "воспитать" новых "детей", которые (надо надеяться), наследовали лучшие "гены" от их "родителей". Этот процесс повторяется для пары дюжины "поколений", пока устойчивое множество флагов командной строки не появляется.

31
ответ дан 28 November 2019 в 04:16
поделиться

вот некое перекрестное опыление блогов ... на что я действительно надеялся, так это на тест, скомпилированный с помощью firefox для атома ...

Адрес: http: // ivoras. sharanet.org/blog/tree/2009-02-11.optimizing-for-atom.html

"Как оказалось, gcc, похоже, очень неплохо справляется с -mtune = native, а mtune = generic больше Наибольший выигрыш (в этом тяжелом математическом тесте) дает использование SSE для математики, но даже они теряются при настройке на pentium4.

«Разница между самой быстрой и самой медленной оптимизацией составляет 21%. Влияние использования march вместо mtune незначительно (разницы недостаточно, чтобы понять, помогает это или нет).

«(Я включил k6 только для справки - я знаю, что у Atom нет 3dnow)

» Позднее обновление:

0
ответ дан 28 November 2019 в 04:16
поделиться

From Intel, Getting Started with MID

When using GCC to compile, there are a few recommended flags to use:

  • -O2 or -O1: O2 flag optimizes for speed, while the -O1 flag optimizes for size
  • -msse3
  • -march=core2
  • -mfpmath=sse
3
ответ дан 28 November 2019 в 04:16
поделиться

i686 является ближайшим. Не используйте core2.

GCC 4.1 -O3 -march = i686 GCC 4.3 -O3 -march = native

GCC 4.1 -O4 -ffast-math GCC 4.3 -O4 -ffast-math

http://macles.blogspot.com/2008/09/intel-cc-compiler-gcc-and-intel-atom.html

0
ответ дан 28 November 2019 в 04:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: