ARK Compiler: Компилятор приложений для Android, разработанный компанией Huaweis — Объяснение

ARK Compiler: Huawei's self-developed Android application compiler - Explained

«ARK Compiler» — это большая ставка для системы управления приложениями Huawei, компания представила ее с запуском серии P30, а на недавнем информационном брифинге Huawei подробно рассказала об этой новой технологии и ее будущем в экосистеме устройств Huawei.

Простое определение:
Компилятор Ark может улучшить беглость работы системы Android на 24%, скорость отклика на 44%, а гладкость стороннего приложения — до 60%.

Обзор EMUI 9.1: это должен быть EMUI 10

Пришло время углубиться в эту тему:

В ходе встречи по обмену программным обеспечением EMUI в Китае д-р Ван Ченглу, президент подразделения программного обеспечения Huawei Consumer BG, сказал, что эта новая технология является прорывом для Huawei и предназначена для совместной работы с EMUI. Чиновник объяснил подробности этой новой революционной технологии из следующего.

Чтобы узнать больше о компиляторе ARK, мы должны понять, что на самом деле представляет собой процесс компиляции:

Большинство приложений на платформе Android написаны на Java, но в нижней части компьютер понимает и выполняет код на машинном языке, представляющем собой двоичный код, состоящий из «0» и «1». Поэтому для запуска программы язык высокого уровня (Java) должен быть преобразован в машинный язык (двоичный код).

Как правило, существует два способа компилирования языка:

1. Введите переводчика для перевода: который работает, понимая оператор Java и переводя его в машинный код, позволяя оборудованию выполнять его свободно и вызывая — интерпретацию выполнения или интерпретатор. Этот процесс не фильтрует код, и эффективность выполнения очень низкая + занимает много времени.

2. Прямой перевод языков высокого уровня на машинный язык: Есть два метода в этом процессе:

A. AOT (опережает время) сборник: Компилирует языки перед запуском программы.

B. JIT (как раз вовремя) сборник: Компилирует языки во время выполнения или в реальном времени.

До Android 5.0 Android использовала код языка высокого уровня для интерпретации выполнения + JIT, но обеспечивала очень низкую эффективность при запуске программы. В процессе разработки, с выпуском Android 6.0, Android представила виртуальную среду Android Runtime (ART).

В настоящее время Android использует комплексный процесс компиляции моделей с комбинацией выполнения интерпретации + JIT + AOT.

Итак, что такое компилятор?

Компилятор — это инструмент или программное обеспечение, которое переводит исходный код с языка программирования высокого уровня на машинно-исполняемый язык и создает одну исполняемую программу из всех языковых файлов / ресурсов.

Чем «ARK Compiler» отличается от обычного компилятора

APK Compiled с ARK Compiler напрямую переводит языки высокого уровня в форме машинного языка, который подключается к телефону, даже без необходимости использовать виртуальную машину или мост для его перевода на телефон. Это экономит огромное количество ресурсов при интерпретации или переключении между языками высокого и низкого уровня и обеспечивает высокую производительность приложения.

Мы можем понять весь этот процесс в два простых шага:

Прежде всего, процесс компиляции программы, поддерживаемой компилятором ARK, завершается на стороне разработчика, в процессе разработки программы разработчик непосредственно компилирует различные языки программирования в машинный код и создает исполняемый APK (приложение Android).

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

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

Весь этот процесс улучшает беглость работы системы на 24% и скорость отклика системы на 44%, а также производительность сторонних приложений до 60%.

Какие трудности у Huawei?

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

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

Как ARK компилятор ожил?

По словам доктора Вана, интерес Huawei к разработке компиляторов начался в 2009 году, когда была начата его программа исследований и разработок. Это вдохновило первую группу исследователей в Китае и за рубежом, чтобы присоединиться и создать группу составителей.

В 2013 году Huawei самостоятельно разработала и выпустила свой первый компилятор для базовых станций, который является официальным предложением платформы компилятора Huawei и предшественника компилятора ARK.

В 2014 году главный ученый по технологии компиляторов Huawei создал основную архитектуру компилятора ARK. В 2015 году Huawei выпустила собственный язык программирования. В 2016 году была создана лаборатория компиляторов и языков программирования. В 2019 году Huawei официально запустила компилятор Ark.

Весь этот процесс разработки занял десять лет и сотни исследований, а также сотни миллионов долларов инвестиций.

Доктор Ван сказал, что система Android, оптимизированная с помощью компилятора Ark, близка к терминологии Apple IOS. Следующим шагом Huawei является продвижение этого нового компилятора в экосистему Android и его постоянное обновление, чтобы пользователи могли использовать более чистые программы для Android.

Доктор Ван также объявил, что компилятор Huawei Ark будет полностью открыт с ноября 2019 года, и предложил всей отрасли работать вместе над улучшением и улучшением производительности Android.

Ссылка на основную публикацию