カスタム検索
表示順:
Relevance
Relevance
Date
ウェブ
 
 
 

JavaScriptのダイナミックインポートをついに実装。より高速化したJavaScriptエンジン「V8 Release 6.3」リリース

2017年10月27日

オープンソースで開発されているJavaScriptエンジン「V8」の最新バージョン「V8 Release 6.3」がリリースされました

V8 logo

V8 Release 6.3では、JavaScriptの実行速度の高速化やメモリフットプリントをより小さくするなどの改良が行われていますが、もっとも注目すべきなのはダイナミックインポート(Dynamic Import)の機能を持つ「import()」が実装されたことでしょう。

動的なモジュールのインポート機能「import()」

JavaScriptのアプリケーションでは、起動時にすべてのプログラムをメモリにロードすると起動に時間がかかる、あるいはメモリを圧迫するなどの理由から、最初からすべてのプログラムをロードするのではなく、ある機能が必要になった時点でその機能を実装しているプログラムモジュールをロードしたい、というニーズがしばしば発生します。

これはモジュールの動的なロード、あるいは遅延ロードなどと呼ばれ、これまでもプログラムからScriptタグを動的に生成するというトリッキーな実装などで実現可能でした。

この動的なモジュールのロードを、今回のV8 Release 6.3では「import()」文によって実装しています。カッコ内には、ロードするモジュールのパスを記述します。

import()を利用することで、モジュールを動的にロードするコードがトリッキーなテクニックなしに記述できるようになります。

import()の仕様策定完了に向けたDynamic Importの実装

動的なモジュールインポートを実現する「import()」は、JavaScriptの仕様を議論するECMA TC39でDynamic Importの機能として議論が進んでいるもので、現在は「ステージ0」から「ステージ4」までの5段階ある仕様策定の「ステージ3」(Candidate:仕様候補)まで到達しています。

参考:TC39のGitHubにある「import()」の項目

次の「ステージ4」(仕様策定完了)に到達するには2つの実装が必要となっており、今回のV8 Release 6.3でその1つが実装されることになります。

つまりV8 Release 6.3のimport()は独自実装や実験的な実装でも、仕様策定前のフライング実装でもなく、仕様策定の完了に向けた重要な実装といえるでしょう。

ちなみに、よく知られたトランスパイラであるTypeScriptでは、7月にリリースされた「TypeScript 2.4」でimport()を取り入れています(これはJavaScriptエンジンではないので、実装の1つには入らないと思いますが)。

JavaScriptのパースや実行速度の改善も

V8 Release 6.3ではそのほか、JavaScriptのパース速度の改善、実行速度の改善、メモリフットプリントの削減なども行われたと説明されています。

下記の図は、過去6バージョンのV8のベンチマーク結果。いちばん右の濃い青がV8 Release 6.3で、短いほど高速な結果を示しており、ほとんどのベンチマークで過去のバージョンより高速になっています。

特に高速になっているのは一番右の「ML」ベンチマーク。これはニューラルネットワークを実行した結果で、おもに大量のクラスを操作する能力を測っているようです。

V8 Release 6.3 Benchmark

V8 Release 6.3は数週間後に登場する見通しのWebブラウザ「Chrome 63」に搭載予定。その時点で正式版となると説明されています。

follow us in feedly

カテゴリ Web技術 / JavaScript
タグ  JavaScript , Web標準


前の記事
IBM、100万個の「演算するメモリ群」で作られた非ノイマン型マシンで機械学習のデモを発表。従来のコンピュータより200倍高速で高効率と


カテゴリ



Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

人気記事ランキング

  1. マイクロソフト、Google、W3C、Mozillaらが協力。それぞれのWebブラウザのドキュメントをMozillaサイトに一本化。あちこちのWebサイトを見て回らなくても済むように
  2. Kotlinのスキルを持たないAndroid開発者は恐竜のようになるリスクに直面。モバイルアプリプラットフォームのRealmが予測
  3. IBM、100万個の「演算するメモリ群」で作られた非ノイマン型マシンで機械学習のデモを発表。従来のコンピュータより200倍高速で高効率と
  4. AWSやAzure、Googleなど大規模クラウドへのコモディティサーバ販売から、HPEが撤退を宣言。非常に利益が小さいからと
  5. Facebook、マルチスレッドのコードを静的解析してデータ競合を検出する「RacerD」、オープンソースで公開。同社Androidアプリのリリース前に1000以上の問題を検出
  6. マネージドKubernetesの利用料を無料に。Kubernetes専用の新コンテナサービス「AKS」(Azure Container Service)、マイクロソフトが発表
  7. 国内プライベートクラウド市場は、2021年には1兆6000億円規模。2016年から5年で5倍以上成長。IDC Japan
  8. Kubernetes、Dockerに依存しないKubernetes用の軽量コンテナランタイム「cri-o」正式版1.0リリース
  9. Kubernetesへの正式対応を示す「Kubernetes適合認証プログラム」発表、認証Kubernetesロゴマークを表示可能に。Cloud Native Computing Foundation
  10. [速報]DockerがKubernetesとの統合およびサポートを発表。DockerCon EU 2017


新着記事 10本


PR - Books


fig

fig

fig