AWS LambdaがNode.js 8.10に対応。非同期処理を簡潔に記述できるasync/awaitサポート、新インタプリタ&コンパイラで省メモリかつ高速に

2018年4月4日

Node.js 8.10に対応したAWS Lambdaでは、非同期処理を簡潔に記述できる新しい構文のasync/awaitをサポートし、JavaScriptエンジンのV8に搭載された「Ignition」インタプリタと「Turbofan」JITコンパイラの組み合わせで省メモリかつ高速な実行を実現した。


AWS LambdaがNode.js 8.10に対応したことが発表されました(AWSブログの紹介記事、下記はアナウンスのページ)。

AWS Lambda Supports Node.js v8.10

AWS Lambdaは、サーバの起動や終了、負荷に応じてサーバ数を増減させるといったサーバの管理や運用をクラウドが自動的に行うなど、サーバのことを意識せずにプログラマがアプリケーションを実行できる、いわゆる「サーバレスコンピューティング」や「サーバレスアーキテクチャ」と呼ばれるアプリケーション実行環境を実現するサービスです。

AWS Lambdaは、このサーバレスアーキテクチャのサービスとしてもっとも普及しているサービスの1つ。

今回AWS LambdaがNode.js 8.10に対応したことで、ECMAScript 2017から採用された新しい構文であるasync/awaitが利用可能になりました。

また、Node.js 8.10に搭載されているJavaScriptエンジンの新しい「Ignition」インタプリタと「Turbofan」コンパイラによって、これまでよりもり省メモリかつ高速にコードが実行できるようになっています。

async/awaitで簡潔に非同期処理を記述可能に

非同期処理を記述したコードは、コードが書かれた順番に処理が進んでいくとは限らないなどの理由から、一般にコードが複雑で可読性が低くなりがちです。AWS Lambdaが対応したNode.js 8.10でサポートされたasync/awaitは、こうした複雑なコードをより簡潔に記述するための新しい構文です。

また、Node.js 8.10では、JavaScriptエンジンの「V8 Release 5.9」から搭載された「Ignition」インタプリタと「Turbofan」JITコンパイラが搭載されています。

このインタプリタとJITコンパイラの組み合わせでは、プログラムの実行開始時、まだJITコンパイラのTurbofanから最適化されたバイナリコードが生成されない初期段階では、Ignitionインタプリタによって小さなメモリオーバーヘッドでコードを実行します。

そしてコードを解析していたTurbofanが最適化されたネイティブコードを生成できるようになった段階でIgnitionからTurbofanへと処理を受け渡し、そこからはTurbofanによって生成されたネイティブコードによる高速な実行へ移行します。

これにより、それまでNode.jsに採用されていた「Crankshaft」JavaScriptエンジンよりも省メモリかつ最大20%程度高速にJavaScriptのコードを実行できるようになっています。

「V8 Release 5.9」はWebブラウザのChrome 59以降にも搭載されています。

あわせて読みたい

AWS クラウド サーバレス




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

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

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

最新記事10本