Привет, Хабрапользователь. Кажется, ты используешь AdBlock. Хабрахабр
развивается и существует за счет доходов от рекламы. Добавь нас в исключения.
открытое письмо как отключить
хабраиндекс
405,30
вчера в 13:00

Пять способов оптимизации кода для Android 5.0 Lollipop перевод

Как сделать программы быстрее? Один из эффективных способов – оптимизация кода. Зная особенности платформы, для которой создаётся приложение, можно найти эффективные способы его ускорения.


11557
117
30 июля в 16:20

Ускорение обработки изображений в Android перевод

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

Для того чтобы это сделать, стоит обратить внимание на технологии OpenCL и RenderScript.

В этом материале рассмотрен пример Android-приложения, в котором показаны методики высокопроизводительной обработки изображений с использованием языков программирования OpenCL и RenderScript. Эти технологии разработаны с прицелом на возможности графического аппаратного обеспечения, рассчитанного на параллельную обработку данных (шейдерных блоков). Они позволяют ускорить работу со значительными объёмами данных и решение задач, предусматривающих большое число повторов команд. Хотя, для ускорения обработки графики в Android-приложениях, вы можете воспользоваться другими технологиями, в этом материале рассматриваются примеры построения инфраструктуры приложения и реализации графических алгоритмов на OpenCL и RenderScript. Здесь так же рассмотрен класс-обёртка для OpenCL API, который позволяет упростить создание и исполнение приложений, работающих с графикой и использующих OpenCL. Использование исходного кода этого класса в ваших проектах не требует лицензирования.
6096
109
29 июля в 09:15

«Ра-а-авняйсь, смирно!». Выравниваем данные



В современных компиляторах задача векторизации циклов является очень важной и нужной. В большинстве своем, при успешной векторизации производительность приложения может быть существенно увеличена. Способов добиться этого достаточно много, а тонкостей, связанных именно с получением ожидаемого «ускорения» нашего приложения – ещё больше.

Сегодня мы поговорим о выравнивании данных, его влиянии на производительность и векторизацию и работу с ним в компиляторе, в частности. Очень подробно само понятие дается в этой статье, как и множество других нюансов. Но нас интересует влияние выравнивания при векторизации. Так вот, если вы прочитали статью или просто знаете, как происходит работа с памятью, то известие о том, что данные считываются блоками вас не удивит.
+19
7191
80
ivorobts 32,1
27 июля в 09:01

Лекции и тренинги Intel по Software Engineering. Август, Москва


Если вы, студент или аспирант, до сих пор не придумали, как интересно и с пользой провести последние дни перед учебным годом в Москве – это пост для вас!
С 24 по 28 августа в московском офисе компании Intel состоится курс лекций и тренингов для студентов, магистрантов и аспирантов естественно-научных специальностей ВУЗов России. Лекторы – высококлассные профессионалы компании Intel, развивающие самые современные направления программной инженерии.
Лекции и тренинги позволят слушателям узнать о том, какие знания, умения и навыки будут полезны им для работы в крупной IT-компании и как эти знания применяются в реальном процессе производства и тестирования ПО. Кто знает, быть может, это тот шанс, который вы искали?
+5
4243
11
RainM 4,0
24 июля в 15:18

Повышение удобства работы с Android-приложениями: распознавание жестов и не только перевод tutorial

Пользователь перевернул телефон, когда поступил входящий вызов? Уберём звук. Устройство подняли так, будто хотят сделать фото? Включим, если за нас это ещё не сделали по старинке, камеру. Как? Сенсоры нам в помощь.

image
+22
9972
122
23 июля в 09:01

Intel RealSense с точки зрения разработчика



У любой современной технологии, в том числе и у Intel RealSense, есть две стороны. Первую, наружную, видит потребитель. В большинстве случаев она яркая, красочная, привлекающая своей новизной. Обратную, изнаночную сторону разработки перспективных идей видят только люди, непосредственно их применяющие. Это территория напряженного труда, проб и ошибок, но и видят разработчики гораздо больше, и мнение их намного авторитетнее.

Долго-долго вынашивал я идею поговорить о том, что представляет из себя технология RealSense изнутри, почему она именно такая, а не иная, об ее недостатках и достоинствах с компетентным специалистом. И вот – ура! – один из крупнейших российских специалистов по RealSense Константин cappasity Попов согласился ответить на мои вопросы.
+7
5926
40
saul 14,6
22 июля в 18:00

Многооконный режим: дополнительное конкурентное преимущество для Android-приложений перевод

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



Из статьи вы узнаете о многооконном режиме в Android, и о том, как использовать эту возможность при построении собственных приложений.
+23
15002
94
21 июля в 08:56

Семь видов интерпретаторов виртуальной машины. В поисках самого быстрого tutorial

Все проблемы в области Computer Science могут быть решены введением дополнительного уровня косвенности. За исключением одной: слишком большого числа уровней косвенности.
All problems in computer science can be solved by another level of indirection, except for the problem of too many layers of indirection.

Программные интерпретаторы известны своей невысокой скоростью работы. В этой статье я расскажу, как их можно ускорить.
Я давно уже хотел поподробней остановиться на создании интерпретаторов. Прямо таки обещал, в том числе самому себе. Однако серьёзный подход требовал использования более-менее реалистичного кода для примеров, а также проведения измерений производительности, подтверждающих (а иногда и опровергающих) мои аргументы. Но наконец-то я готов представить почтенной публике результаты, причём даже чуть более интересные, чем собирался.
В данной статье будет описано семь способов построения программной ВМ для одной гостевой системы. От самых медленных мы проследуем к более быстрым, поочерёдно избавляясь от различных «неэффективностей» в коде, и в конце сравним их работу на примере одной программы.
Тех, кто не боится ассемблерных листингов, испещрённого макросами кода на Си, обильно удобренного адресной арифметикой, goto и даже longjmp, а также программ, использующих копипаст во имя скорости или даже создающих куски самих себя, прошу пожаловать под кат.
+47
14845
164
Atakua 57,7
17 июля в 09:26

Intel Edison. Использование Intel Cloud на примере реализации датчика расстояния tutorial



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

Для начала разберемся с новым облаком для Internet-of-Things.
+9
3700
34
vkalinin 7,2
14 июля в 09:42

Виртуальное время, часть 2: вопросы симуляции и виртуализации tutorial

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