ホームページ >よくある問題 >Ark コンパイラとは何ですか?

Ark コンパイラとは何ですか?

(*-*)浩
(*-*)浩オリジナル
2019-07-22 09:43:1080573ブラウズ

Ark Compiler は、Android システムのコンパイル効率を向上させるために Huawei によって開始されたシステムおよびアプリケーションのコンパイルおよび実行メカニズムです。

Ark コンパイラとは何ですか?

#2019 年 4 月、ファーウェイは Huawei P30 シリーズの国内発売カンファレンスでこのテクノロジーを初めて発表しました。 (推奨学習:

PHP ビデオ チュートリアル )

コンパイラーは、「あるコンピューター言語 (通常は高級言語)」を「別のコンピューター言語 (通常は低水準言語)」に翻訳することです。 )」の番組。 Pascal、C、C、Java などの高レベルのコンピューター言語は、開発者が記述、読み取り、通信、保守するのに便利ですが、低レベルの機械語は、次のような機械コード (マシンコード) です。コンピュータは直接解釈して実行できます。

Huawei の Ark コンパイラは、Android アプリケーション開発者が使用する JAVA および C/C をマシンコードに変換します。 Wang Chenglu氏によると、ファーウェイは2009年にコンパイラーの製造を検討し始めた、「HiSiliconがチップを製造した後、チップの能力を真に引き出すには独自のコンパイラーが必要だったからです。2013年からは、ファーウェイ独自に開発したコンパイラーと呼ばれています。」 HCC。」

時刻表によると、ファーウェイは2012年にコンパイラーとプログラミング言語の研究所を設立しました。2014年、技術専門家のフレッド・チョウがファーウェイに加わり、コンパイラーの主要アーキテクチャを担当しました。探求の末、ファーウェイはついに Ark コンパイラーを発売しました。

ファーウェイが公開した公式データによると、以前の Android アプリケーション開発と比較して、Ark Compiler はシステム操作の流暢性を 24% 向上させ、システムの応答性を 44% 向上させ、さらにスムーズな操作を 60% 向上させることができます。サードパーティ アプリケーション (Weibo Express 版)。

言語を超えた呼び出しのオーバーヘッドを排除

Wang Chenglu 氏は、流暢さと応答性を向上させるための Ark コンパイラーの動作原理を記者に詳しく説明しました。

まず第一に、Ark コンパイラは多言語共同最適化コンパイラであり、「Android のパフォーマンス オーバーヘッドに影響を与える主な理由の 1 つである、言語間呼び出しのオーバーヘッドを排除します。」

Wang Chenglu 氏の序文によると、現在、Android アプリケーション市場の APP の 95% は複数の言語で開発されています。「ロジック部分はすべて Java コードですが、その機能を強化するために、おそらくすべての APP 開発者は C でライブラリを書くことになるでしょう」

Java は、単純さ、オブジェクト指向、分散という特徴を持つオブジェクト指向プログラミング言語です。動作効率は C ほどではありませんが、高い利点があります。開発効率と強力なクロスプラットフォーム Java は Android 開発の第一の選択肢となり、開発者は現在、JNI を介してローカル C/C ライブラリを呼び出すことが行われています。

ただし、Java と C 言語の間でインターフェイス呼び出しを使用すると、必然的に追加のパフォーマンス オーバーヘッドが発生します。Wang Chenglu 氏は、Huawei の Ark コンパイラは、開発環境でさまざまな言語コードを一連の実行可能ファイルにコンパイルし、実行すると述べました。このように効率が高くなります。

パフォーマンスに影響を与え、リアルタイムでメモリを再利用する仮想マシン メカニズムを排除します

Wang Chenglu 氏は、ファーウェイの Ark コンパイラの 2 番目の主要な機能は、仮想マシンの排除であると考えています。パフォーマンスに影響を与える機械のメカニズム。

Android システムの開発プロセスでは、アプリケーション開発の難易度を下げ、異なるハードウェア構成のデバイスに適応させるために、Android システムは Linux をカーネルとして構築されているため、仮想マシンを無視することはできません。 , Google Linux カーネル上に仮想マシンが構築され、Android アプリケーションは Java を使用して開発され、仮想マシン上で実行されます。

さまざまなアプリケーションのパフォーマンス最適化を柔軟に実現できる

Wang Chenglu 氏は、Ark コンパイラーの 3 番目のハイライトは、さまざまなアプリケーションのパフォーマンス最適化を柔軟に実現できることであると述べました。

同氏は、既存の Android コンパイル済みコードのほとんどは仮想マシン環境で実行され、仮想マシンの作成は同じ一連の「テンプレート」から行われるため、詳細な最適化を実行することが困難になると述べました。 「アプリケーションにはさまざまな最適化要件があります。対照的に、Ark コンパイラーは異なります。各アプリケーションは、さまざまなアプリケーションに最適化されたマシンコードを形成するために、独自の計画をコンパイルおよび最適化します。これは、追求するすべてのアプリケーション開発者に次のような機能を提供していると言っているのと同じです。」これは、独自のアプリケーションを改善する機会であり、Android 仮想マシンの制限に制限されなくなります。」

PHP 関連の技術記事の詳細については、

PHP グラフィック チュートリアル コラムをご覧ください。学習のために!

以上がArk コンパイラとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。