事前コンパイルで高速起動
Facebookがモバイルアプリ用JavaScriptエンジン「Hermes」を公開
Facebookは、JIT(Just In Time)よりも高速にアプリが起動するAOT(Ahead Of Time)を採用したJavaScriptエンジンをオープンソースで公開した。
Hermes(ヘルメス)はギリシャ神話に登場する神で、貿易、紋章、商業をつかさどる。だが、盗みや策略の神でもある。
Facebookは、この神にちなんで同社のJavaScriptエンジンプロジェクトを「Hermes」と命名した。同社は恐らくこの神の高潔な資質を思い浮かべていたのだろう。同社はHermesをオープンソース(MITライセンス)で公開した。
Hermesは、Facebookの「React Native」を使って構築された「Android」ネイティブアプリケーションのネットワーク負荷の軽減を目的としたものだ。React Nativeは、Fetch APIを提供してネットワークのニーズに対応する。
Hermesはアプリケーション起動時間を短縮し、メモリ使用量を減らし、結果的にコードの全体的なフットプリントを小さくしようとしている。
では、起動時間に注目するのはなぜだろう。
アプリケーションの起動時間は、テクノロジー業界がTTI(Time To Interaction)と呼ぶ属性に影響する。TTIは、アプリケーションが起動してからユーザーが利用できるようになるまでの時間だ。TTIは消費者向けアプリケーションを作るソフトウェア企業の成功を左右する一因になる。
起動時間を短くする方法
Hermesの秘密の一つは、バイトコードのプリコンパイルを実行する機能にある。
バイトコードのプリコンパイルは、AOT(Ahead Of Time:実行前)コンパイルによるコード処理を可能にする。
「一般に、JavaScriptエンジンはJavaScriptソースを読み込んでからそれを解析し、バイトコードを生成する。このステップがJavaScriptの実行開始を遅らせる。このステップをスキップするため、Hermesはモバイルアプリケーションのビルドプロセスの一環としてAOTコンパイルを実行する。その結果、バイトコードの最適化に多くの時間を費やせるようになり、バイトコードが小さく、効率的になる。関数の重複排除や文字列テーブルの切り詰めなど、プログラム全体の最適化も実行できる」(Facebookの技術文書より)
Facebookによると、モバイルアプリケーションが大きく、複雑になるにつれ、開発者が機能や複雑さを加えるとJavaScriptフレームワークを利用する大きなアプリケーションでパフォーマンスの問題が頻繁に発生するようになるという。
「Facebookのアプリケーションのパフォーマンスを向上させるために、当社にはJavaScriptコードとプラットフォームを継続的に改善するチームがある。パフォーマンスデータを分析することで、JavaScriptエンジン自体が起動パフォーマンスとダウンロードサイズに影響を及ぼしていることが判明した。このデータから、PCよりも環境に制限のあるスマートフォンでJavaScriptのパフォーマンスを最適化しなければならないことが分かった」(Facebookのプレス発表より)
Hermesは、本稿執筆時点では「ECMAScript 6」(ES6、ECMAScript 2015)仕様を対象としている。同社のチームによると、JavaScript仕様の進化に合わせて最新仕様に対応していく予定だという。
Copyright © ITmedia, Inc. All Rights Reserved.
Computer Weekly日本語版
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品レビュー
[ヴィーム・ソフトウェア株式会社] SCS評価制度を導入するだけで十分? 組織の防御力を高める活用方法とは -
技術文書・技術解説
[フォーティネットジャパン合同会社] AIランサムウェアに勝つ 自律型エンドポイント管理導入で確認すべき条件4つ -
技術文書・技術解説
[フォーティネットジャパン合同会社] LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント -
製品レビュー
[ネットアップ合同会社] 研究分野でAI活用が進まない? 真の成果につなげるデータ管理の在り方とは -
製品レビュー
[ヴィーム・ソフトウェア株式会社] SCS評価制度を導入するだけで十分? 組織の防御力を高める活用方法とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
2
VMware離れの決め手は“機能”以外だった 情シス109人が選んだ新基準と死角は
-
3
二極化する生成AI活用 「一部の社員しか使いこなせない」をどう解消すべきか
-
4
IBM iのブラックボックス化を打破 資産継承と進化を実現する「IBM Bob」の実力
-
5
「Apple Watch」、読者の95%は「仕事で使える」、5%は何に不満?
-
6
「クラウドDR」4大基礎用語 クラウドバックアップやDRaaSとの違いは?
-
7
高機能化が進む“タブレット型電子カルテ”は次の段階へ
-
8
Claude Opus 5.5、GPT-6 Sol/Luna登場 情シスが迫られるモデル使い分け
-
9
「ERP(統合基幹業務システム)の導入・活用」に関するアンケート
-
10
Claude Codeでは「エージェントを作るな、スキルを作れ」 Anthropicが示すAI構築術
ホワイトペーパーランキング PR
-
1
登録セキスぺが語る「SCS評価制度」の舞台裏 星を取得すべき理由と対応のコツ
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
OSSでは困難 100超のサービスを持つマネーフォワードが実践した統合監視術
-
4
「改正物流効率化法対策」徹底解説 総物流費を抑制するサプライチェーン戦略
-
5
月1000枚の紙を削減 9年動けなかった組織が、業務改革のその先に得たもの
-
6
ネットワーク遅延の原因、「パケットロス」の基礎知識と効果的な解決策
-
7
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
-
8
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
9
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
-
10
ソフトウェア開発の属人化と手戻りをどう防ぐ? 速さと品質を両立させる方法
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー