Heim >häufiges Problem >Was ist der Ark-Compiler?

Was ist der Ark-Compiler?

(*-*)浩
(*-*)浩Original
2019-07-22 09:43:1080584Durchsuche

Ark Compiler ist ein System- und Anwendungskompilierungs- und Ausführungsmechanismus, der von Huawei eingeführt wurde, um die Kompilierungseffizienz des Android-Systems zu verbessern.

Was ist der Ark-Compiler?

Im April 2019 kündigte Huawei diese Technologie erstmals auf der inländischen Einführungskonferenz der Huawei P30-Serie an. (Empfohlenes Lernen: PHP-Video-Tutorial)

Der Compiler soll „eine Computersprache (normalerweise eine Hochsprache)“ in „eine andere Computersprache (normalerweise eine Niedrigsprache)“ übersetzen. )“-Programm. Hochrangige Computersprachen wie Pascal, C++, C++, Java usw. sind für Entwickler bequem zu schreiben, zu lesen, zu kommunizieren und zu warten, während niedrigrangige Maschinensprachen Maschinencodes (Maschinencodes) sind Computer können direkt interpretieren und ausführen.

Der Ark-Compiler von Huawei konvertiert JAVA und C/C++, die von Android-Anwendungsentwicklern verwendet werden, in Maschinencode. Laut Wang Chenglu begann Huawei 2009 über die Herstellung von Compilern nachzudenken: „Nachdem HiSilicon den Chip hergestellt hatte, brauchten wir unseren eigenen Compiler, um die Fähigkeiten des Chips wirklich zu nutzen. Ab 2013 den von Huawei selbst entwickelten Compiler.“

Laut Zeitplan gründete Huawei im Jahr 2014 ein Compiler- und Programmiersprachenlabor. Im Jahr 2014 kam der Technologieexperte Fred Chow zu Huawei, um für die Hauptarchitektur des Compilers verantwortlich zu sein. Nach zehn Jahren der Erforschung brachte Huawei schließlich das auf den Markt Ark-Compiler.

Laut offiziellen von Huawei veröffentlichten Daten kann Ark Compiler im Vergleich zu früheren Android-Anwendungsentwicklungen die Betriebsflüssigkeit des Systems um 24 %, die Systemreaktionsfähigkeit um 44 % und auch den reibungslosen Betrieb um 60 % verbessern Anwendungen von Drittanbietern (Weibo Express Edition).

Beseitigung des Aufwands für sprachübergreifende Anrufe

Wang Chenglu erklärte Reportern ausführlich, wie der Ark-Compiler die Sprachgewandtheit und Reaktionsfähigkeit verbessern kann.

Zuallererst ist der Ark-Compiler ein mehrsprachiger Compiler zur gemeinsamen Optimierung, der „den Overhead für sprachübergreifende Aufrufe eliminiert, der einer der Hauptgründe für den Performance-Overhead von Android ist.“

Laut Wang Chenglu Introduction werden derzeit 95 % der APPs auf dem Android-Anwendungsmarkt in mehreren Sprachen entwickelt: „Der Logikteil besteht ausschließlich aus Java-Code, aber um seine Fähigkeiten zu verbessern, werden wahrscheinlich alle APP-Entwickler eine Bibliothek in C schreiben.“ Java Zu nennen. „

Java ist eine objektorientierte Programmiersprache mit den Merkmalen Einfachheit, Objektorientierung und Verteilung. Obwohl ihre Betriebseffizienz nicht so gut ist wie die von C++, bietet sie die Vorteile einer hohen Entwicklung Effizienz und eine stärkere plattformübergreifende Nutzung von JAVA sind zur ersten Wahl für die Android-Entwicklung geworden, und der Aufruf lokaler C/C++-Bibliotheken über JNI ist das, was Entwickler derzeit tun.

Die Verwendung von Schnittstellenaufrufen zwischen der Java- und der C-Sprache führt jedoch zwangsläufig zu einem zusätzlichen Leistungsaufwand. Wang Chenglu sagte, dass der Ark-Compiler von Huawei verschiedene Sprachcodes in einer Reihe ausführbarer Dateien in der Entwicklungsumgebung kompiliert und diese ausführt So effizienter.

Beseitigt den Mechanismus der virtuellen Maschine, der die Leistung beeinträchtigt und Speicher in Echtzeit zurückgewinnt

Wang Chenglu glaubt, dass das zweite Hauptmerkmal des Ark-Compilers von Huawei die Eliminierung des Virtuellen ist Maschinenmechanismus, der die Leistung beeinflusst.

Im Entwicklungsprozess des Android-Systems können virtuelle Maschinen nicht ignoriert werden: Das Android-System wird mit Linux als Kernel erstellt, um die Schwierigkeit der Anwendungsentwicklung zu verringern und sie an Geräte mit unterschiedlichen Hardwarekonfigurationen anzupassen , Google Eine virtuelle Maschine basiert auf dem Linux-Kernel. Android-Anwendungen werden mit Java entwickelt und auf der virtuellen Maschine ausgeführt.

Kann die Leistungsoptimierung verschiedener Anwendungen flexibel realisieren

Wang Chenglu sagte, dass das dritte Highlight des Ark-Compilers darin besteht, dass er die Leistungsoptimierung verschiedener Anwendungen flexibel realisieren kann.

Er sagte, dass der größte Teil des vorhandenen kompilierten Android-Codes in einer virtuellen Maschinenumgebung ausgeführt wird und die Erstellung virtueller Maschinen aus demselben Satz von „Vorlagen“ erfolgt, was eine tiefgreifende Optimierung erschwert: unterschiedlich Anwendungen haben unterschiedliche Optimierungsanforderungen. Im Gegensatz dazu kompiliert und optimiert jede Anwendung ihren eigenen Plan, um optimierte Maschinencodes für verschiedene Anwendungen zu erstellen Eine Gelegenheit, Ihre eigenen Anwendungen zu verbessern, ohne durch die Einschränkungen der virtuellen Android-Maschine eingeschränkt zu werden.“

Weitere technische Artikel zum Thema PHP finden Sie in der Spalte „PHP-Grafik-Tutorial“ für Lernen!

Das obige ist der detaillierte Inhalt vonWas ist der Ark-Compiler?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was bedeutet IOE-Architektur?Nächster Artikel:Was bedeutet IOE-Architektur?