Maison >Problème commun >Qu'est-ce que le compilateur Ark ?

Qu'est-ce que le compilateur Ark ?

(*-*)浩
(*-*)浩original
2019-07-22 09:43:1080570parcourir

Ark Compiler est un mécanisme de compilation et d'exécution de systèmes et d'applications lancé par Huawei pour améliorer l'efficacité de compilation du système Android.

Qu'est-ce que le compilateur Ark ?

En avril 2019, Huawei a annoncé cette technologie pour la première fois lors de la conférence de lancement nationale de la série Huawei P30. (Apprentissage recommandé : Tutoriel vidéo PHP)

Le compilateur consiste à traduire "un langage informatique (généralement un langage de haut niveau)" en "un autre langage informatique (généralement un langage de bas niveau) )". Les langages informatiques de haut niveau sont pratiques pour les développeurs pour écrire, lire, communiquer et maintenir, tels que Pascal, C++, C++, Java, etc., tandis que les langages machine de bas niveau sont des codes machine (codes machine) qui les ordinateurs peuvent directement interpréter et exécuter.

Le compilateur Ark de Huawei convertit JAVA et C/C++ utilisés par les développeurs d'applications Android en code machine. Selon Wang Chenglu, Huawei a commencé à envisager de créer des compilateurs en 2009 : « Parce qu'après que HiSilicon ait fabriqué la puce, nous avions besoin de notre propre compilateur pour véritablement exploiter les capacités de la puce. À partir de 2013, le propre compilateur développé par Huawei "

.

Selon le calendrier, Huawei a créé un laboratoire de compilateur et de langage de programmation en 2014. En 2014, l'expert en technologie Fred Chow a rejoint Huawei pour être responsable de l'architecture principale du compilateur, après dix ans d'exploration, Huawei a finalement lancé le. Compilateur Ark.

Selon les données officielles publiées par Huawei, par rapport au développement précédent d'applications Android, Ark Compiler peut améliorer la fluidité du fonctionnement du système de 24 %, améliorer la réactivité du système de 44 % et également améliorer de 60 % le bon fonctionnement de applications tierces (Weibo Express Edition).

Élimination des frais généraux d'appels multilingues

Wang Chenglu a expliqué aux journalistes en détail comment le compilateur Ark peut améliorer la fluidité et la réactivité.

Tout d'abord, le compilateur Ark est un compilateur d'optimisation conjoint multilingue, "éliminant la surcharge des appels multilingues, qui est l'une des principales raisons qui affectent la surcharge des performances d'Android." Selon Wang Chenglu Introduction, actuellement 95 % des applications sur le marché des applications Android sont développées dans plusieurs langages : « La partie logique est entièrement constituée de code Java, mais afin d'améliorer ses capacités, tous les développeurs d'applications écriront probablement une bibliothèque en C pour Java Appeler. "

Java est un langage de programmation orienté objet avec les caractéristiques de simplicité, d'orientation objet et de distribution. Bien que son efficacité de fonctionnement ne soit pas aussi bonne que celle du C++, il présente les avantages d'un développement élevé. l'efficacité et une multiplateforme plus forte. JAVA est devenu le premier choix pour le développement Android, et appeler des bibliothèques C/C++ locales via JNI est ce que font actuellement les développeurs.

Cependant, l'utilisation d'appels d'interface entre Java et le langage C entraînera inévitablement une surcharge de performances supplémentaire ; Wang Chenglu a déclaré que le compilateur Ark de Huawei compile différents codes de langage dans un ensemble de fichiers exécutables dans l'environnement de développement et les exécute. comme ça Plus efficace.

Élimine le mécanisme de la machine virtuelle qui affecte les performances et récupère la mémoire en temps réel

Wang Chenglu estime que la deuxième fonctionnalité majeure du compilateur Ark de Huawei est l'élimination du virtuel mécanisme de la machine qui affecte les performances.

Dans le processus de développement du système Android, les machines virtuelles ne peuvent être ignorées : le système Android est construit avec Linux comme noyau afin de réduire la difficulté de développement d'applications et de l'adapter aux appareils avec différentes configurations matérielles. , Google Une machine virtuelle est construite sur le noyau Linux. Les applications Android sont développées à l'aide de Java et exécutées sur la machine virtuelle.

Peut réaliser de manière flexible une optimisation des performances de différentes applications

Wang Chenglu a déclaré que le troisième point fort du compilateur Ark est qu'il peut réaliser de manière flexible une optimisation des performances de différentes applications.

Il a déclaré que la plupart du code compilé Android existant s'exécute dans un environnement de machine virtuelle et que la création de machines virtuelles provient du même ensemble de « modèles », ce qui rend difficile une optimisation en profondeur : différents les applications ont des exigences d'optimisation différentes. En revanche, le compilateur Ark est différent. Chaque application détermine son propre plan de compilation et d'optimisation pour former des codes machine optimisés pour différentes applications. "Cela équivaut à dire que nous fournissons à chaque développeur d'applications une solution. vous avez la possibilité d'améliorer vos propres applications, sans être limité par les limitations de la machine virtuelle Android. pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn