Любое приложение для Android, даже написанное только на скриптовых языках (таких как Java или HTML5), в конечном счёте использует базисные компоненты среды исполнения, которые должны быть оптимизированы. Хорошими примерами для иллюстрации оптимизационных подходов и потребностей являются приложения, использующие технологии мультимедиа и дополненной реальности, описанные ниже. Для платформы Android (смартфоны и планшеты) Intel использует различные виды процессоров Atom, имеющих SSSE3 уровень векторизации и обычно 2 ядра с гипертредингом – считайте это намеком :) Для тех, кто намек понял, под катом – история оптимизации и распараллеливания одного конкретного приложения израильской компании iOnRoad — iOnRoad.
Читать полностью »
Метка «sse»
Оптимизация приложений под Android x86: проверенные способы
2013-12-05 в 7:28, admin, рубрики: atom, sse, Блог компании Intel, параллельное программирование, Разработка под android, метки: atom, sseПро мнимые и реальные оптимизации в 10 раз, целительный SSE, и все такое
2013-05-18 в 17:30, admin, рубрики: c++, sse, Алгоритмы, оптимизация, Программирование, метки: sse, оптимизацияПо мотивам вчерашнего поста про оптимизацию условных переходов при расчете x=sign(a,b)*min(abs(a), abs(b)) якобы в 10 раз. Краткая сводка:
- оптимизация налицо, но размер мнимый: не в 10 раз, а 2.5 раза;
- бенчмарки надо делать правильно: не надо мерить CPU stalls, RAM bandwidth итп вместо целевой функции;
- бенчмарки надо делать правильно: иначе могут дико дрожать;
- выставлять только приоритет прикольно, но на коротких бенчмарках зря: +0.5% скорости, -15% дрожания;
- нужно мерить целевую функцию, только так получаешь корректные данные;
- нужно греть проц, нужно считать минимум из N прогонов/секунд, только так побеждаешь дрожание;
- нужно пользовать SSE, с ним получилось 8.6 раз, причем код… читается.
В общем, опять пачка классических методологических ошибок при бенчмарке. Кому интересно, как такие ошибки НЕ делать, подробности, детальный разбор полетов, оптимизация в еще несколько раз и, главное, исходники под катом.
Читать полностью »