Webpackの70倍!Go言語で書かれたJavascriptバンドラー「esbuild」をベンチマークテストしてみた

esbuild
https://github.com/evanw/esbuild/

esbuildの特徴

複数モジュールの依存関係を解決し、1つにまとめるバンドラーは、現代のフロントエンド開発においてなくてはならないツールの1つ。


The State of JavaScript

上位5つに人気が集中し、なかでもWebpackのシェアは実に約60%に達しています。

今回ご紹介する「esbuild」は、Go言語で書かれた高速なバンドラーで、これらメジャーなツールとの性能比較(ベンチマークテスト)をやってみました。

公式のベンチマーク結果

計測方法は、three.jsライブラリを10回複製し、キャッシュなしで単一のバンドルをゼロから構築しています。なんと、Webpackに比べて70倍以上もビルド時間が圧縮されるなど、クレイジーな速度を誇っています。

なぜ、早いのか?

・Go言語で書かれている
・パース、プリンティング、ソースマップの処理が完全に並列化されている
・すべての処理が、非常に少ないパスで実行され、コストのかかるデータ変換が不要
・コードは速度を重視し、不必要なアロケーションを回避している

実際に動かしてみる

$ git clone https://github.com/evanw/esbuild.git
$ cd esbuild
$ make bench-three

esbuildのブランチにある計測スクリプトを実行します。

Rollup.js

Built in 49s

real 49.95
user 54.59
sys 3.99

FuseBox

Built in 2m 56s 602ms

real 184.63
user 229.76
sys 15.46

Parcel

Built in 142.49s

real 154.52
user 305.49
sys 29.69

Webpack

Built in 56.95ms

real 58.75
user 67.11
sys 4.45

esbuild

Built in 770ms

real 1.28
user 2.49
sys 0.70

ビルド時間を見れば、結果は一目瞭然です。

すでにバンドラーのまわりにはエコシステムが確立され、単純な速度比較だけでは技術が選ばれる理由にはならないでしょう。それでも、かなりショッキングな性能差であるのは事実であり、それとともに、Go言語の可能性を感じさせてくれる結果ではないでしょうか。


コメントを読む

新着ピック  






















新着ニュース

Apple製UWBタグ「AirTag」は2020年半ばに発売? 著名アナリストが予想

日本のポッドキャスト大賞を決めるJAPAN PODCAST AWARDS 2019、ノミネート20作品を発表

アフリカのZindiは、同地の複雑な諸問題をAIと機械学習で解決する | TechCrunch Japan

Pythonでインスタンス変数の入力値をバリデーションする方法 | Developers.IO

dポイントが「Apple Wallet」に対応 iPhoneやApple Watchを使ってローソンでポイントがたまる

NTT東西、従来より10倍速い光回線サービス「フレッツ 光クロス」4月開始へ

北京モーターショー2020も新型コロナウイルス影響で延期 | TechCrunch Japan

ポケモンGOの「スポットライトアワー」、内容変更に当惑するトレーナーが大量発生中

任天堂、Nintendo Switch Liteに新色「コーラル」--3月20日発売

WHOをかたる詐欺メールに注意 新型コロナの感染拡大に便乗

Googleはスパイツールとされるアプリ「ToTok」のストア削除を認める | TechCrunch Japan

「1万円台のAndroidスマホ」おすすめ4選 お手頃モデルの見つけ方【2020年最新版】

Googleがインドの駅や僻地で提供してきた無料Wi-Fiプログラムを終了させる | TechCrunch Japan

MFSが住友林業と「モゲパス」で提携--住宅ローン借り入れ可能額から一戸建てを検索

ローソン、川崎に“レジなし”実験店--商品を持ったまま店を出ると自動でクレカ決済

DockerでCloudGoat環境を構築し秒速でAWSセキュリティに入門する | Developers.IO

Tinderの創設者がセックスのコツを教えるアプリLoverに投資 | TechCrunch Japan

請求書まわりの管理がすべて無料--OLTA、クラウド請求管理サービス「INVOY」正式展開

セブン‐イレブン、クレカなどのタッチ決済に対応 6月から

Coinhive裁判、弁護側がIT業界から意見書募集 Web上の声をくみあげ、最高裁に提出

もっと見る